如何进行重定向并保留查询字符串?

2024-04-25 17:30:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做一个重定向并保留什么是查询字符串。类似于self.redirect加上发送的查询参数。有可能吗?


Tags: 字符串self参数重定向redirect
3条回答

您可以使用self.request.query_string将查询字符串提取到当前请求;因此您可以使用self.redirect('/new/url?' + self.request.query_string)重定向到新的URL。

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

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/

相关问题 更多 >