gpt4 book ai didi

python - django urlconf 的奇怪警告

转载 作者:行者123 更新时间:2023-11-30 22:33:30 26 4
gpt4 key购买 nike

Django 的行为符合我的希望和预期,但给了我一个警告。看来我的用例没有被考虑到。这让我很困惑,所以我的问题是:我是否错过了等待我的任何问题,或者开发人员是否错过了这个用例。

我想要网址person/<slug>/指向详细 View ,URL persons/指向 ListView 。它比以 persons/ 开头更适合人类阅读。也在详细 View 中。我使用 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 告诉我,开头的斜杠是不必要的 - 这是错误的,省略它会让我得到反向的 url 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 ) 开头的 URL。然后,有人指出,在某些情况下使用斜杠是有效的,因此当 settings.APPEND_SLASH = False ( ticket 27238 ) 时,警告被禁用。

如果您认为应该修改(甚至删除)该检查,那么 django-developers 邮件列表或票务跟踪器将是比 Stack Overflow 更好的讨论此问题的地方。

关于python - django urlconf 的奇怪警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45144201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com