Python Django拒绝某些Slug URL,但接受其他URL
我正在处理一个Django项目,我刚刚意识到服务器拒绝了某些URL,错误如下: NoReverseMatch:找不到带参数(u'intranet.hieta.biz',)和关键字参数“{}”的“mapView”的反向。尝试了1个模式:[u'QMSv2/(?P[\w-]+)/$”] 奇怪的是,我不明白这一点,有一半的页面可以工作并且可以访问,但其他页面却不能。它们都共享相同的格式、数据库、视图、url和模板。。我看不出有什么不同。这是它试图将其匹配到的url:Python Django拒绝某些Slug URL,但接受其他URL,python,django,slug,Python,Django,Slug,我正在处理一个Django项目,我刚刚意识到服务器拒绝了某些URL,错误如下: NoReverseMatch:找不到带参数(u'intranet.hieta.biz',)和关键字参数“{}”的“mapView”的反向。尝试了1个模式:[u'QMSv2/(?P[\w-]+)/$”] 奇怪的是,我不明白这一点,有一半的页面可以工作并且可以访问,但其他页面却不能。它们都共享相同的格式、数据库、视图、url和模板。。我看不出有什么不同。这是它试图将其匹配到的url: url(r'^(?p[\w-]+)/
url(r'^(?p[\w-]+)/$”,views.mapView,name=“mapView”)
如果有人知道是什么原因导致Django拒绝某些鼻涕虫而不是其他鼻涕虫,请告诉我,非常感谢您的帮助
注意:所有页面都使用相同的模板、url和视图呈现。slug都在同一个数据库中,slug本身都是由同一个函数生成的。您的组
[\w-]+
匹配A-Z、A-Z、0-9、下划线和连字符,但不匹配句点
。您应该将其更改为:
[\w.-]+
非常感谢你!你知道为什么每个URL都使用相同的名称,但只有一些被正则表达式拒绝吗?我希望你的旧URL适用于slug
intranet
,但不适用于intranet.hieta.biz
,因为它包含句点。我想你误解了我的问题。我在问为什么它会接受一半的slug(所有的slug都使用相同的url,只是一个不同的/my slug/),而拒绝其他的slug/。我理解“.”导致拒绝的原因,但为什么它能接受其他人?你是对的,恐怕我不理解你的问题。哪些不包含
?域保持一致,因此始终是intranet.hieta.biz/my-slug/被拒绝的段塞示例有:后flm、文件编号、不合格材料。可接受的例子:总体质量管理体系、持续改进、公司政策