您可以尝试名为的基于类的视图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='<url_to_home_view>', permanent=False), name='index')
)
请注意url
,<url_to_home_view>
您需要如何实际指定 url。
permanent=False
将返回 HTTP 302,而permanent=True
将返回 HTTP 301。
或者,您可以使用django.shortcuts.redirect
Django 2+ 版本的更新
在 Django 2+ 中,url()
已弃用并由re_path()
. url()
用法与正则表达式完全相同。对于不需要正则表达式的替换,使用path()
.
from django.urls import re_path
re_path(r'^.*$', RedirectView.as_view(url='<url_to_home_view>', permanent=False), name='index')