Django form.cleaned_data vs response.POST.get

Django, Flask, Bottle, WSGI, CGI…
Antworten
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

Hi,

was genau ist der Unterschied im Kontext von Forms zwischen:

Code: Alles auswählen

if response.method == "POST":
        form = CreateNewList(response.POST)
        if form.is_valid():
            n = form.cleaned_data['name']
und

Code: Alles auswählen

if response.POST.get('name'):
	n = response.POST.get('name')
Irgendwie bringt mir beides das selbe Ergebnis für n.
Es wird wahrscheinlich wieder eine "es kommt darauf an Lösung" sein. Aber worauf kommt es an?

LG
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
Benutzeravatar
sparrow
User
Beiträge: 4165
Registriert: Freitag 17. April 2009, 10:28

Das eine ist der rohe Wert, der aus dem POST-request kommt. Das andere der "saubere" Wert nach der Validierung des Formulars. Der ist normalisiert verifiziert und benutzbar.
Der kann identisch sein - muss aber nicht.

Für Formulare gilt: Arbeite mit cleaned data.

Mehr weiß, wie immer, die Dokumentation.
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

Danke dir.
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
Antworten