需要Django URL映射方案帮助

需要Django URL映射方案帮助,django,Django,如何在Django中执行这些url映射: urlpatterns=[ url(r'^.*', include('Authenticate.urls')), url(r'^.*', TemplateView.as_view(template_name="index.html"), name="home") ] 对于第一个映射,我想确保任何url都应该首先通过authenticate视图来完成身份验证。当认证完成后,从第一个视图,我想重定向到同一个URL。但这次我不希望它与第一个映

如何在Django中执行这些url映射:

urlpatterns=[
    url(r'^.*', include('Authenticate.urls')),
    url(r'^.*', TemplateView.as_view(template_name="index.html"), name="home")
]
对于第一个映射,我想确保任何url都应该首先通过authenticate视图来完成身份验证。当认证完成后,从第一个视图,我想重定向到同一个URL。但这次我不希望它与第一个映射一起映射,而是希望它与第二个URL一起映射,以便可以加载index.html文件

我知道,我不能将同一个url映射到两次,即使我这样做,它也将始终与第一次映射匹配,因此身份验证过程将进入一个循环

但是,当初始url可以是任何内容时,在重定向之后,我想继续使用相同的url,我需要使用url(r'^.*')映射这两个url


如何克服这种情况?

首先,你不应该这样做。阅读以了解如何确保用户经过身份验证,并在访问视图时具有正确的权限。因此,请使用视图装饰器或类装饰器。但我始终希望先执行视图,然后加载html。这样,视图就已经完成了登录所需的工作,然后加载我的html。如果我键入url www.example.com/someView,并且该视图与url文件中的任何视图都不匹配,那么我应该有url(r'^.*',包括('Authenticate.url')),将其映射并检查。稍后,当此默认视图将重定向到我需要在url文件中映射并希望通过index.html文件加载的某个html时,这是一个非常糟糕的设计。如果有人输入了一个不存在的url,因为您没有该url的功能,那么返回404错误页面是一个很好的做法,因此您没有理由检查它。但是在任何情况下,你都不能有两个具有相同url的不同视图。首先定义你应用程序的所有已知url(你主页的url应该是
r'^$'
,指示空路径,而不仅仅是任何路径),然后,如果您真的想将所有未定义的URL捕获到一个处理该URL的特殊视图,请将其放在URL列表的末尾。