如何将与其他URL不匹配的流量重定向回首页?
urls.py:
urlpatterns = patterns('', url(r'^$', 'macmonster.views.home'), #url(r'^macmon_home$', 'macmonster.views.home'), url(r'^macmon_output/$', 'macmonster.views.output'), url(r'^macmon_about/$', 'macmonster.views.about'), url(r'^.*$', 'macmonster.views.home'), )
就目前而言,最后一个条目将所有“其他”流量发送到主页,但是我想通过HTTP 301或302进行重定向。
你可以尝试称为 RedirectView
`from django.views.generic.base import RedirectView
urlpatterns = patterns(‘’, url(r’^$’, ‘macmonster.views.home’), #url(r’^macmon_home$’, ‘macmonster.views.home’), url(r’^macmon_output/$’, ‘macmonster.views.output’), url(r’^macmon_about/$’, ‘macmonster.views.about’), url(r’^.*$’, RedirectView.as_view(url=’‘, permanent=False), name=’index’) )`
请注意url,<url_to_home_view>你实际上需要如何指定url。
url
<url_to_home_view>
permanent=False将返回HTTP 302,而permanent=True将返回HTTP 301。
permanent=False
permanent=True
或者,你可以使用 django.shortcuts.redirect