Django: преобразовать параметры запроса POST в строку запроса - PullRequest
5 голосов
/ 08 апреля 2011

По предмету я получаю запрос POST. Я хочу преобразовать его в эквивалентный запрос GET и передать его в шаблон (чтобы я мог использовать его в качестве цели href в заголовках столбцов с сортировкой по клику).

Есть ли заранее приготовленный способ сделать это, или мне нужно свернуть свой собственный?

Ура, 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)+"&"

Ответы [ 3 ]

8 голосов
/ 08 апреля 2011

Используйте

request.POST.urlencode()
6 голосов
/ 08 апреля 2011

Использовать стандартную библиотеку, urllib.urlencode. например,

>>> import urllib
>>> urllib.urlencode({'a': 1, 'b': 2})
'a=1&b=2'
1 голос
/ 21 июня 2011

С документы

request.META['QUERY_STRING']
...