2024-04-25 17:30:05 发布
网友
我想做一个重定向并保留什么是查询字符串。类似于self.redirect加上发送的查询参数。有可能吗?
self.redirect
您可以使用self.request.query_string将查询字符串提取到当前请求;因此您可以使用self.redirect('/new/url?' + self.request.query_string)重定向到新的URL。
self.request.query_string
self.redirect('/new/url?' + self.request.query_string)
newurl = '/my/new/route?' + urllib.urlencode(self.request.params) self.redirect(newurl)
在Django 2.2这对我很有用。查询字符串可用作HTTP GET的QueryDict实例request.GET,HTTP POST的QueryDict实例request.POST。将它们转换为普通字典,然后使用urlencode。
request.GET
request.POST
urlencode
from django.utils.http import urlencode query_string = urlencode(request.GET.dict()) # or request.GET.urlencode() new_url = '/my/new/route' + '?' + query_string
见https://docs.djangoproject.com/en/2.2/ref/request-response/。
您可以使用
self.request.query_string
将查询字符串提取到当前请求;因此您可以使用self.redirect('/new/url?' + self.request.query_string)
重定向到新的URL。在Django 2.2这对我很有用。查询字符串可用作HTTP GET的QueryDict实例
request.GET
,HTTP POST的QueryDict实例request.POST
。将它们转换为普通字典,然后使用urlencode
。见https://docs.djangoproject.com/en/2.2/ref/request-response/。
相关问题 更多 >
编程相关推荐