Skip to main content
 首页 » 编程设计

python之django URL 反向 : When URL reversig a username it fails when username has a '.' literal in it

2024年08月12日34java哥

我没想到会发生这种情况[因为我不知道 django 何时更改为允许 _ 和 .在用户名中],但是当我尝试 {% url feed_user entry.username %}

当用户名包含“.”时,我会收到 500 错误 在这种情况下,rob.e 作为用户名将失败。

有什么办法解决这个问题吗?

请您参考如下方法:

问题出在您在 urls.py 中使用的任何正则表达式中以匹配 feed_user .大概你正在使用类似 r'(?P<username>\w+)/$' 的东西,仅匹配字母数字字符,不匹配标点符号。

相反,使用这个:r'(?P<username>[\w.]+)/$'