Django如何捕获任意URL?

3

我希望找到一种方法,在用户请求不需要的URL时显示我的Django登录页面。我应该使用哪种语法?截至今天,我有以下内容:

from django.conf.urls import patterns, include, url

导入django.contrib中的admin模块

urlpatterns = patterns('', # 示例:

url(r'^login'           , 'database.views.index', name='login'),
url(r'^create-user/'    ,  'database.views.account_creation', name='create_user'),

url(r'^get-details/'    ,  'database.views.get_details', name='get-details'),
url(r'^upload-csv'  ,  'database.views.upload_csv', name='upload_csv'),
# url(r'^blog/', include('blog.urls')),

url(r'^admin/', include(admin.site.urls)),
#url(r'^'           , 'database.views.index', name='login'),

我希望如果用户请求一个不合理的URL,它会被重定向到登录URL(即view.index函数)。有什么想法吗?

1
你为什么想那样做呢?404 是正确的处理方式。 - Jingo
1
我宁愿通过将访问者带回现有的网页,而不是让他们面对404错误页面来帮助他们。:-s - Romain Jouin
1个回答

7
不对是否应该这样做进行评论,Django会按顺序尝试匹配您的URL模式。因此,如果您想要一个下降/捕获所有处理程序,请将其放在最后:
url(r'^.*', 'database.views.index', name='unmatched')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接