你有两个相同的正则表达式,但指向不同的url文件

时间:2017-01-13 01:27:58

标签: python django python-2.7 url

例如以下是允许的吗?如果是这样,是不是推荐还是没关系?

urlpatterns = [
    url(r'^$', include('login.urls')),
    url(r'^$' include('register.urls')),
    url(r'^admin/', admin.site.urls),
]

2 个答案:

答案 0 :(得分:0)

是的,你可以在django中设置它,但是第二个不会被使用,因为django将从上到下找到url,当它找到匹配记录时,django将返回第一条记录并停在那里,所以,第二个没有机会执行。

答案 1 :(得分:0)

不,Django将数学第一个正则表达式。

但是你可以为一个视图设置一个正则表达式 并且在该视图中根据请求的类型(GET / POST / PUT等)进行特定操作

class CommentView(View):

    def get(self, request):
        ... do if get type    

    def post(self, request):
        ... do if post type

此外,您还可以查看用户是否已登录,如果没有,您可以将其重定向到登录。