2010-07-21 3 views

Antwort

74

request.POST ist ein wörterbuchähnliches Objekt, das alle angegebenen HTTP-POST-Parameter enthält.

Wenn Sie durch request.POST durchlaufen, erhalten Sie nur die Schlüssel.

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

Um die Schlüssel und Werte zusammen, verwenden Sie die items Methode abrufen.

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

Beachten Sie, dass request.POST mehrere Elemente für jeden Schlüssel enthalten kann. Wenn Sie für jeden Schlüssel mehrere Elemente erwarten, können Sie lists verwenden, die alle Werte als Liste zurückgibt.

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

Weitere Informationen finden Sie in den Django-Dokumentation für QueryDict.

+6

Besser: 'für Schlüssel, Wert in request.POST.iteritems()' –

+3

Beachten Sie, dass 'QueryDict' Objekte haben kein Attribut 'iteritems' in Python 3. – Escher

+1

Selbst normale Wörterbücher haben keine Methode 'iteritems()' in Python 3. 'iteritems()' ist nur Python 2.x. Es ist 'items()' in Python 3. Dies wurde auch erst kürzlich in Django entfernt, ich glaube, 1,9 hatte auch in Python 3 noch 'itemitems()'. –