Django 自己解析URL而不是通过urlpattern匹配组解析URL是一种好方法吗?

Django 自己解析URL而不是通过urlpattern匹配组解析URL是一种好方法吗?,django,django-urls,Django,Django Urls,假设我正在构建一个博客应用程序,并创建以下url模式: url(r'^(?P<category>.+?)/(?P<date>.+)$', views.post_list, name='post_list'), 但是我想嗯。。。我不希望有日期,让它成为而不是 然后我必须更改模板中所有相应的{%url标记 这样重写url正则表达式不是更好吗: url(r'^(?P<url>.+?/.+)$', views.post_list, name='post_list')

假设我正在构建一个博客应用程序,并创建以下url模式:

url(r'^(?P<category>.+?)/(?P<date>.+)$', views.post_list, name='post_list'),
但是我想嗯。。。我不希望有日期,让它成为
而不是

然后我必须更改模板中所有相应的{%url标记

这样重写url正则表达式不是更好吗:

url(r'^(?P<url>.+?/.+)$', views.post_list, name='post_list'),
因此,如果我想更改url regex/参数中的某些内容,请不要触摸它们? 是好的设计还是我遗漏了什么

但我想,嗯……我不想在那里约会,随它去吧 而是

然后我必须在我的数据库中的任何地方更改相应的{%url标记 模板

为什么这是一个问题

设计好吗

不,不是:

  • 函数变得不明确。它一次做的事情太多了
  • 您正在复制框架中已有的功能
  • 现在,通过创建一个“覆盖式”捕获所有请求方法,您已经有效地创建了一个瓶颈。在这个方法中,将有一堆决策树if/else子句,这样的分支是bug的主要位置
  • 这样做的全部目的是为了一些可能发生或不可能发生的想象用例
  • 发件人:


    为什么我以前没有想到过3.呢?这是真的,附言:thnx代表搞笑漫画
    url(r'^(?P<url>.+?/.+)$', views.post_list, name='post_list'),
    
    {% url 'myapp:post_list' obj.url %}