Django的行为与我所期望的一样,但给我一个警告。看来我的用例没有考虑到。这使我困惑,所以我的问题:我想念任何等待我的问题,或开发人员错过这个用例。django urlconf的奇怪警告
我希望url person/<slug>/
指向一个详细信息视图,而url persons/
指向列表视图。在详细视图中,它比起persons/
来说更加人性化。我用包括使代码更简洁,是这样的:
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的告诉我,在开头的斜线是unneccesary - 这是不对的,留下它给我留下了逆转的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 '/'.
感谢您的反馈@Alasdair。 只是为了正确性,它应该是'= False',对吧? 是的,django票务跟踪器可能是正确的地方,但对我来说这是不寻常的......我的意思是报告一个错误,我不确定它是否是一个。 是否有可能使特定警告消失?然后,我建议在警告中添加关于此的评论。 – Ilja
您可以使用['SILENCED_SYSTEM_CHECKS'](https://docs.djangoproject.com/en/1.11/ref/settings/#silenced-system-checks)设置来消除检查。在你的情况下,我认为改变URL模式而不是沉默检查会更好。 – Alasdair
我不认为沉默斜杠检查是一个很好的解决方案 - 除非有可能在该行中沉默这个_this specific_警告 - 似乎并非如此。作为开发人员为此提供功能请求可能不值得。我不会成功写一篇我害怕的:)那么,我会结束这个问题,再次感谢你。 – Ilja