【问题标题】:Django: Convert a POST request parameters to query stringDjango:将 POST 请求参数转换为查询字符串
【发布时间】:2011-04-08 08:53:52
【问题描述】:

根据主题,我收到了一个 POST 请求。我想将其转换为等效的 GET 请求并将其传递给模板(因此我可以将其用作单击排序列标题中的 href 目标)。

是否有预先烘焙的方法,或者我需要自己滚动?

干杯, 阿尔夫

更新

这是我最终使用的。我需要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)+"&"

【问题讨论】:

    标签: python django query-string


    【解决方案1】:

    使用

    request.POST.urlencode()

    【讨论】:

    • 这也有效 - 虽然 - 奇怪的是 - 不是在 request.REQUEST
    • 比接受的答案更好,因为它更简洁并且不需要导入。
    【解决方案2】:

    使用标准库urllib.urlencode。例如

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

    【讨论】:

    • @Alien Life Form:请删除现在无用的评论。另外,不要在“状态更新”cmets 上浪费时间。它们不传达任何信息。
    【解决方案3】:

    来自the docs

    request.META['QUERY_STRING']
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-12
      • 2021-02-12
      • 1970-01-01
      • 1970-01-01
      • 2012-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多