Django url regex 终止 $ 不匹配路由



我有这个规则,它与当前路由不匹配,我不知道为什么:

path(r'api/user/connections/worker/<str:identifier>/$', views.connections.Detail.as_view()),

当前网址是:localhost:8000/api/user/connections/worker/test/,但它给出404。最后没有美元符号,它可以工作,但这会把它变成可能共享相同路径的其他路线的包罗万象的规则,我正在努力避免它。有什么想法吗?

新的 Django path(( 语法不使用正则表达式作为参数


就像有趣的事实 $ 是 URL 编码的,因此您的 URL 可以在

本地主机:8000/API/用户/连接/worker/test/%24

path(…)[Django-doc]不使用正则表达式。它使用补丁转换器,就像您在带有&hlt;str:…>的路径中使用的一样。如果您使用$则将其解释为在URL末尾需要$

因此,您将其写为:

path('api/user/connections/worker/<str:identifier>/', views.connections.Detail.as_view()),

最新更新