Джанго URL-адрес обратного: когда URL-адрес reversig имя пользователя это не удается, когда имя пользователя имеет.- в буквальном смысле слова.


Я не ожидал, что это произойдет [так как я не знал, когда Джанго изменился на allow _ and . в именах пользователей], но когда я пытаюсь {% url feed_user запись.имя пользователя %}

Я получу ошибку 500, когда имя пользователя содержит '.' В данном случае Роб.е в имени пользователя не удастся.

Есть идеи, как с этим справиться?

1 2

1 ответ:

Проблема будет в любом регулярном выражении, которое вы используете в своем urls.py чтобы соответствовать feed_user. Предположительно вы используете что-то вроде r'(?P<username>\w+)/$', которое совпадает только с буквенно-цифровыми символами и не совпадает с пунктуацией.

Вместо этого используйте следующее: r'(?P<username>[\w.]+)/$'