使用正则表达式时会出现混乱

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

我正在使用django allauth,最初用户可以通过访问website/profile来访问其个人资料,urls.py为path('profile/', include('users.urls'))。后来我决定让用户查看其他用户的个人资料,因此我想确定ID需要将urls.py更改为path(r'^profile/(?P<user_id>[\w-]+)/$', include('users.urls'))

事实是,现在,当用户访问个人资料时,它不是像website/profile/user1这样的简洁干净的URL,而是类似website/%5Eprofile/(%3FP1%5B%5Cw-%5D+)/$的东西。

这可能不是问题,但id希望在我的网站地址栏中输入一个干净的URL,并认为这可能是我的实现不正确的标志。

谢谢。

django django-urls
2个回答
0
投票

[^已进行%5E URlencode编码,依此类推,还有其他多余的字符,

您正在将旧的正则表达式路径(url()url())与新的re_path()语法混淆

如果您想保留路径:

re_path()

如果需要自定义,也可以检查path()

path()

0
投票

使用re_path或slug模式

path('profile/<username>', include('users.urls'))
© www.soinside.com 2019 - 2024. All rights reserved.