NoReverseMatch в / profile / preview /, когда аргумент содержит специальный символ или пробел - PullRequest
0 голосов
/ 19 сентября 2019

Получение NoReverseMatch в / profile / preview / только тогда, когда аргумент содержит специальный символ или пробел.для аргумента без специального символа или пробела отлично работает

return HttpResponseRedirect(reverse('profile-by-username', kwargs={'username': c.username}))

url(r'^preview/(?P<id>\d+)/?$', views.preview, name='profile-preview')

1 Ответ

0 голосов
/ 19 сентября 2019

Я думаю, вам нужно исправить свое регулярное выражение в URL для приема специальных символов @ $ * _, например:

url(r'^profile/(?P<username>[-\w.@+*$ -]+)/?$', views.user, name='profile-by-username')

Вы можете проверить это регулярное выражение здесь: https://regex101.com/r/U2lVxj/1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...