【发布时间】:2017-08-07 07:36:35
【问题描述】:
我有一个高流量的 django-cms 网站。在同一个站点上,还有一个带有 restful api 的附加 django 应用程序。
我有以下 urls.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(假设英语是默认语言)。
此行为适用于所有 CMS URI,但不适用于 API,它只会增加流量。我怎样才能避免 django-cms url 不拦截来自 API 的 404。
【问题讨论】:
标签: python django django-cms