我有一个高流量django cms网站。在同一个网站上,还有一个附加的django应用程序,带有restful api。
我有追随者网址.py你知道吗
urlpatterns = [
url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap',
{'sitemaps': {'cmspages': CMSSitemap}}),
url(r'^taggit_autosuggest/', include('taggit_autosuggest.urls')),
url(r'^select2/', include('django_select2.urls')),
url(r'^api/', include('api.urls')),
]
urlpatterns += i18n_patterns(
url(r'^admin/', include(admin.site.urls)),
url(r'^', include('cms.urls')),
)
问题是,如果api在应用程序级为其URL返回404(例如/api/post/15
),则urls.py
定义中的最后一行截取404,并返回302,从而重定向到/en/api/post/15
(假设英语是默认语言)。你知道吗
这种行为适用于所有cmsri,但不适用于API,因为它只会增加通信量。我怎样才能避免djangocmsurl不从API截获404。你知道吗
这实际上可能是一个Django bug。django CMS不拦截404,如果在应用程序级别引发404,django的locale中间件将捕获404并执行重定向。我认为这是一个bug,因为它不应该截获显式应用程序404,或者在中间件中,它应该使用请求中的解析器匹配来查看匹配的模式是否是i18n模式。你知道吗
相关问题 更多 >
编程相关推荐