Django网址具有复杂路径的行为

问题描述 投票:0回答:3

在我的django项目中,在urls.py文件中,我有一个像这样的链接:

...
url(r'^poliamb/(?P<m_path>\w+)/$', pol_data),
...

好,当我有一个类似URL时,完成所有工作:

http://127.0.0.1:8000/poliamb/test1

但是例如当我有错误时]

http://127.0.0.1:8000/poliamb/test1-other

如果URL路径中有-号,则django获取URL未定义错误

有人可以帮助我管理带有-号的网址吗?

非常感谢

在我的django项目中,在urls.py文件中,我有一个像这样的链接:... url(r'^ poliamb /(?P \ w +)/ $',pol_data),...好的所有工作当我有一个网址时完成了:http://127.0.0.1:8000 / poliamb / ...

python django regex django-urls
3个回答
2
投票

URL正则表达式中的问题是\w+,它与任意数量的单词字符匹配。字字符为a-z,A-Z,0-9和下划线(_


1
投票

[如果您不想匹配连续的连字符,则可以选择重复一个不包含连字符和1个以上字符(?:-\w+)*的捕获组


1
投票

最好使用path,而不要使用urlurl已弃用,并由re_path代替。

© www.soinside.com 2019 - 2024. All rights reserved.