Django (forms) - genaue Anwendung von form.cleaned_data in views.py

Django, Flask, Bottle, WSGI, CGI…
Antworten
Grumpy Cat
User
Beiträge: 7
Registriert: Donnerstag 18. Juli 2019, 07:56

Hallöchen,
ich beschäftige mich gerade mit den django forms insbesondere auf der folgenden Seite in den Django Docs: https://docs.djangoproject.com/en/2.2/t ... s-the-view
Der Code-Ausschnitt sieht folgendermaßen aus:

Code: Alles auswählen

def get_name(request):
    # if this is a POST request we need to process the form data
    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = NameForm(request.POST)
        # check whether it's valid:
        if form.is_valid():
            # process the data in form.cleaned_data as required
            # ...
            # redirect to a new URL:
            return HttpResponseRedirect('/thanks/')
Wenn ich in der views.py in der if-Bedingung

Code: Alles auswählen

if form.is_valid():
befinde, steht in der Dokumentation:

Code: Alles auswählen

# process the data in form.cleaned_data as required
Leider ohne Hinweis wie genau das aussehen könnte.
Daher meine Fragen:
1. Wie genau könnte die Anwendung von form.cleaned_date code-mäßig aussehen?
2. Muss ich hier immer etwas mit cleaned_data machen oder kann ich auch lediglich .save() ausführen?

Vielen Dank für Eure Antwort
LG
grumpy cat
Benutzeravatar
__blackjack__
User
Beiträge: 14011
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Grumpy Cat: Ad 1. Das musst Du doch wissen was Du mit den Daten aus dem Formular machen willst. Irgendwas damit ausrechnen, etwas davon in der Datenbank speichern, die Daten benutzen um eine Datenbankabfrage zu erstellen – was auch immer Du mit den Eingaben aus dem Formular machen willst.

Ad 2. `save()` auf *was* denn?
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
Grumpy Cat
User
Beiträge: 7
Registriert: Donnerstag 18. Juli 2019, 07:56

@__blackjack__

Berechnungen durchführen und Datenabfragen erstellen hilft mir weiter, das war mir im Moment nicht so bewusst.

Bei 2. meinte ich: Eingegebene Daten aus dem Formular in der Datenbank speichern (ohne irgendetwas weiteres mit den Daten zu machen). Dann würde ich doch einfach nur

Code: Alles auswählen

form.save()
durchführen?
Benutzeravatar
sparrow
User
Beiträge: 4532
Registriert: Freitag 17. April 2009, 10:28

Das funktioniert nur bei einem ModelForm. Man speichert Modelle in der Datenbank - keine Formularinhalte.
Grumpy Cat
User
Beiträge: 7
Registriert: Donnerstag 18. Juli 2019, 07:56

Das mit ModelForm hab ich mir angeschaut und das mit dem Abspeichern auch soweit verstanden.

Beide posts haben mir sehr weitergeholfen. Vielen Dank und LG

grumpy cat
Antworten