一尘不染

Django URL重定向

django

如何将与其他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进行重定向。


阅读 388

收藏
2020-03-30

共1个答案

一尘不染

你可以尝试称为 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。

permanent=False将返回HTTP 302,而permanent=True将返回HTTP 301。

或者,你可以使用 django.shortcuts.redirect

2020-03-30