2011-04-08 130 views
5

根據主題,我收到一個POST請求。我想將其轉換爲等效的GET請求並將其傳遞給模板(這樣我就可以將它用作點擊排序列標題中的href目標)。Django:將POST請求參數轉換爲查詢字符串

是否有預先烘焙的方式來做到這一點,還是我需要自己滾動?

乾杯, ALF

UPDATE

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

回答

6

使用標準庫urllib.urlencode。例如

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

@Alien生命形式:請刪除現在已經沒用評論。另外,不要浪費時間在「狀態更新」評論上。他們不傳達任何信息。 – 2011-04-08 16:44:18

8

使用

request.POST.urlencode()
+0

這也適用 - 雖然 - 奇怪 - 沒有要求。請求 – 2011-04-08 09:23:08

+1

比接受的答案更好,因爲它更簡潔並且不需要導入。 – 2014-05-11 12:08:11

1

the docs

request.META['QUERY_STRING'] 
相關問題