urlconf 的 django 奇怪警告
django strange warning for urlconf
Django 的行为正如我所希望和预期的那样,但给了我一个警告。似乎没有考虑我的用例。这让我感到困惑,所以我的问题是:我是否错过了等待我的任何问题,或者开发人员是否错过了这个用例。
我希望 url person/<slug>/
指向详细视图,url persons/
指向列表视图。它也比在详细视图中以 persons/
开头更易于阅读。我使用 include 使代码更整洁,例如:
url(r'^person', include([
url(r'^s/$', views.foo),
url(r'^/(?P<slug>[\w-]+)/form/$', views.form),
url(r'^/(?P<slug>[\w-]+)/$', views.bar),
])),
现在 Django 告诉我,开头的斜线是不必要的 - 这是错误的,将其排除在外会使我得到反转的 urls person<slug>
,中间没有斜线。我不明白为什么这应该是糟糕的风格。警告是:
WARNINGS:
?: (urls.W002) Your URL pattern '^/(?P<slug>[\w-]+)/form/$'
[name='person_form'] has a regex beginning with a '/'. Remove this
slash as it is unnecessary. If this pattern is targeted in an
include(), ensure the include() pattern has a trailing '/'.
在你的情况下,警告是误报,但这是一个相当不寻常的用例,所以我认为 Django 中的启发式算法不一定必须更改。
您可以通过将 URL 模式更改为:
来阻止警告
url(r'^persons/$', views.foo),
url(r'^person/', include([
url(r'^(?P<slug>[\w-]+)/form/$', views.form),
url(r'^(?P<slug>[\w-]+)/$', views.bar),
])),
起初,警告是针对任何以 /
(ticket 23813). Then, it was pointed out that there were some cases where it is valid to use a slash, so the warning was disabled when settings.APPEND_SLASH = False
(ticket 27238) 开头的 URL。
如果您认为应该修改(甚至删除)检查,那么 django-developers 邮件列表或票证跟踪器将是比 Stack Overflow 更好的讨论场所。
Django 的行为正如我所希望和预期的那样,但给了我一个警告。似乎没有考虑我的用例。这让我感到困惑,所以我的问题是:我是否错过了等待我的任何问题,或者开发人员是否错过了这个用例。
我希望 url person/<slug>/
指向详细视图,url persons/
指向列表视图。它也比在详细视图中以 persons/
开头更易于阅读。我使用 include 使代码更整洁,例如:
url(r'^person', include([
url(r'^s/$', views.foo),
url(r'^/(?P<slug>[\w-]+)/form/$', views.form),
url(r'^/(?P<slug>[\w-]+)/$', views.bar),
])),
现在 Django 告诉我,开头的斜线是不必要的 - 这是错误的,将其排除在外会使我得到反转的 urls person<slug>
,中间没有斜线。我不明白为什么这应该是糟糕的风格。警告是:
WARNINGS:
?: (urls.W002) Your URL pattern '^/(?P<slug>[\w-]+)/form/$'
[name='person_form'] has a regex beginning with a '/'. Remove this
slash as it is unnecessary. If this pattern is targeted in an
include(), ensure the include() pattern has a trailing '/'.
在你的情况下,警告是误报,但这是一个相当不寻常的用例,所以我认为 Django 中的启发式算法不一定必须更改。
您可以通过将 URL 模式更改为:
来阻止警告url(r'^persons/$', views.foo),
url(r'^person/', include([
url(r'^(?P<slug>[\w-]+)/form/$', views.form),
url(r'^(?P<slug>[\w-]+)/$', views.bar),
])),
起初,警告是针对任何以 /
(ticket 23813). Then, it was pointed out that there were some cases where it is valid to use a slash, so the warning was disabled when settings.APPEND_SLASH = False
(ticket 27238) 开头的 URL。
如果您认为应该修改(甚至删除)检查,那么 django-developers 邮件列表或票证跟踪器将是比 Stack Overflow 更好的讨论场所。