Я использовал Unquote в своих URL прежде, чтобы получить специальные символы в URL, например:
path('example/<str:phone_number>', views.find_user_by_phone_number.as_view(), name='api.find_user_by_phone_number'),
#call with example/+849323212231
и в моих представлениях:
from urllib.parse import unquote
.....
phone_number = unquote(phone_number)
print(phone_number)
Это работало отлично, и я получил +849323212231
со специальным символом +
Но теперь мне нужно создать URL с несколькими параметрами, которые могут содержать phone_number
:
path('example', views.find_user_by_phone_number.as_view(), name='api.find_user_by_phone_number'),
#call with example?phone_number=+849323212231
С целью обработки параметра:
...
phone_number = unquote(request.GET.get('phone_number'))
print(phone_number)
И результат печати, который я получил, был "849323212231" с пробелами в начале.
Похоже, значение из request.GET.get('phone_number')
возвращает "849323212231", поэтому плюс превратился в пробел.
Ожидается получение +849323212231
из request.GET.get('phone_number')
Как получить специальный символ с именованным параметром в URL?