【问题标题】:Can you have two of the same regex but point to them to different url files你能有两个相同的正则表达式,但指向不同的 url 文件吗
【发布时间】:2017-01-13 01:27:58
【问题描述】:

例如以下是否允许?如果是这样,是不推荐还是可以?

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

【问题讨论】:

    标签: python django python-2.7 url


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      不,Django 将计算第一个正则表达式。

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

      class CommentView(View):
      
          def get(self, request):
              ... do if get type    
      
          def post(self, request):
              ... do if post type
      

      您还可以查看用户是否登录,如果没有,您可以将他们重定向到登录。

      【讨论】:

        猜你喜欢
        • 2021-03-19
        • 2022-06-10
        • 2017-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-03
        相关资源
        最近更新 更多