Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 你能有两个相同的正则表达式,但指向不同的url文件吗_Python_Django_Python 2.7_Url - Fatal编程技术网

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

Python 你能有两个相同的正则表达式,但指向不同的url文件吗,python,django,python-2.7,url,Python,Django,Python 2.7,Url,例如,是否允许以下情况?如果是,是不建议还是可以 urlpatterns = [ url(r'^$', include('login.urls')), url(r'^$' include('register.urls')), url(r'^admin/', admin.site.urls), ] 是的,您可以在django中设置它,但是第二个将不被使用,因为django将从上到下查找url,当它找到匹配记录时,django将返回第一个记录并停止在那里,因此第二个记录没有

例如,是否允许以下情况?如果是,是不建议还是可以

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

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

否,django将对第一个正则表达式进行数学运算

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

此外,您还可以在视图中检查用户是否已登录,如果未登录,您可以将其重定向到登录

class CommentView(View):

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

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