how to loop through httprequest post variables in python

Question:

How can you loop through the HttpRequest post variables in Django?

I have

for k,v in request.POST:
     print k,v

which is not working properly.

Thanks!

Asked By: icn

||

Answers:

request.POST is a dictionary-like object containing all given HTTP POST parameters.

When you loop through request.POST, you only get the keys.

for key in request.POST:
    print(key)
    value = request.POST[key]
    print(value)

To retrieve the keys and values together, use the items method.

for key, value in request.POST.items():
    print(key, value)

Note that request.POST can contain multiple items for each key. If you are expecting multiple items for each key, you can use lists, which returns all values as a list.

for key, values in request.POST.lists():
    print(key, values)

For more information see the Django docs for QueryDict.

Answered By: Alasdair
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.