Django: 将POST请求参数转换为查询字符串

6 投票
3 回答
6830 浏览
提问于 2025-04-16 15:19

根据主题,我收到了一个POST请求。我想把它转换成一个等效的GET请求,然后传递给一个模板(这样我就可以在点击排序的列标题中使用它作为链接目标)。

有没有现成的方法可以做到这一点,还是我需要自己动手实现?

谢谢,

alf

更新

这是我最终使用的内容。我需要request.REQUEST,所以request.POST.urlencode不够用,而request.REQUEST没有urlencode这个功能。

import urllib
def buildqs(request):
    "Builds a GET-style query string form http-request"
     #also request.POST.urlencode is possible - 
     #Sadly, request.REQUEST does not have urlencode
     return  urllib.urlencode(request.REQUEST)+"&"

3 个回答

1

来自文档

request.META['QUERY_STRING']
10

使用

request.POST.urlencode()
7

使用标准库中的 urllib.urlencode。比如:

>>> import urllib
>>> urllib.urlencode({'a': 1, 'b': 2})
'a=1&b=2'

撰写回答