带有url参数的Django unquote()
我以前在我的url中使用过unquote来获取url中的特殊字符,如下所示:带有url参数的Django unquote(),django,django-urls,django-request,Django,Django Urls,Django Request,我以前在我的url中使用过unquote来获取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 它工作得很好,我得到了带有特殊字符的+849323212231 但现在我需要创建一个包含多个参数的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
它工作得很好,我得到了带有特殊字符的+849323212231
但现在我需要创建一个包含多个参数的url,这些参数中可以包含电话号码
:
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')的值
return“849323212231”,所以加号变成了空白
预计将从request.get.get('phone_number')获取+849323212231
如何在url中获取带有命名参数的特殊字符?您是否尝试过urlunquote\u plus
@Exprator是的,我尝试过phone\u number=unquote\u plus(request.get.get('phone\u number'))
它仍然返回“849323212231”而没有加上加上加上加上加上加上加上加上加上加上加上加上加上加上加上加上加上加上加上加上加上加上加上加上加上加上号)问题是,使用整个url,比如unqoute(url)
然后获取电话号码请求。获取完整路径()
返回/example?电话号码=849323212231
所以我想我甚至无法从完整的url路径获取它加号是一个保留字符,你能展示一下你是如何提交这些值的吗?表单还是ajax?在这里添加代码。
...
phone_number = unquote(request.GET.get('phone_number'))
print(phone_number)