Seite 1 von 1
Django Forms <-- Verarbeitungsreihenfolge
Verfasst: Dienstag 1. April 2014, 20:30
von samid
Hallo Zusammen,
bin noch ziemlich frisch in Materie Webprogrammierung. Beim durcharbeiten eines Tutorials (How to tango with django) bin ich auf ein Verständnisproblem gestoßen. Denn ich weiß nicht wie die Verarbeitungsrichtung von django forms funktioniert. Wenn ich forms weglassen, dann kommt zuerst die urls.py --> views.py --> models.py --> views.py --> templates. Wie funktioniert es aber dann mit forms, wo kann ich das dann zwischen schalten.
Sorry für solche banalen Fragen, aber ich stehe gerade echt auf dem Schlauch.
Gruß
Samid
Re: Django Forms <-- Verarbeitungsreihenfolge
Verfasst: Dienstag 1. April 2014, 21:27
von Leonidas
Abgesehen dass deine Verarbeitungsreihenfolge keinen Sinn macht (``models.py`` kommen nie in den Control Flow), würde man es zwischen ``views.py`` und ``templates`` ansiedeln (rendern von Forms) sowie zwischen ``views.py`` und ``models.py`` (validieren von Forms).
Re: Django Forms <-- Verarbeitungsreihenfolge
Verfasst: Mittwoch 2. April 2014, 17:41
von samid
Hi,
danke für die Antwort. Wieso findest du, dass diese Verarbeitungsreihenfolge keine Sinn macht? Dieses Bild zeigt aber was anderes:
Gruß
Samid
Re: Django Forms <-- Verarbeitungsreihenfolge
Verfasst: Mittwoch 2. April 2014, 18:08
von samid
Hallo ich nochmal,
vielleicht hätte ich nicht models.py schreiben sollen, sondern model. Ich will einfach wissen welche Komponente fängt an zu steuern und welche hört auf.
Gruß
Samid
Re: Django Forms <-- Verarbeitungsreihenfolge
Verfasst: Mittwoch 2. April 2014, 18:37
von /me
samid hat geschrieben:Wieso findest du, dass diese Verarbeitungsreihenfolge keine Sinn macht? Dieses Bild zeigt aber was anderes:
Ich würde das nicht als Verarbeitungsreihenfolge bezeichnen. Das Wesentliche ist Punkt 2: "The view function [...] performs the requested action [...]". Dazu nutzt sie andere Komponenten wie beispielsweise Models oder Forms. Es kann übrigens auch sein, dass überhaupt kein Model angesprochen wird.
Re: Django Forms <-- Verarbeitungsreihenfolge
Verfasst: Mittwoch 2. April 2014, 18:55
von samid
Aber wenn man jetzt die obere Grafik als Basis nimmt, dann kann man die Forms zwischen Views und Templates einfügen oder?
Re: Django Forms <-- Verarbeitungsreihenfolge
Verfasst: Mittwoch 2. April 2014, 19:22
von /me
samid hat geschrieben:Aber wenn man jetzt die obere Grafik als Basis nimmt, dann kann man die Forms zwischen Views und Templates einfügen oder?
Man kann das machen. Und dann stößt man in der Django-Dokumentation auf "
Creating Forms from Models" und stellt fest, dass es so einfach anscheinend doch nicht ist.
Re: Django Forms <-- Verarbeitungsreihenfolge
Verfasst: Mittwoch 2. April 2014, 20:00
von samid
Ich verstehe ja, dass es nicht so einfach ist, aber eine logische Abfolge sollte es hier schon geben um verstehen zu können wie das ganze überhaupt zusammenhängt.
Re: Django Forms <-- Verarbeitungsreihenfolge
Verfasst: Mittwoch 2. April 2014, 23:43
von Leonidas
Würde ich nicht unbedingt sagen. Also es gibt halt Dispatching und Views. Der Rest ist völlig optional. Wenn man Templates hat, dann werden diese meist am Ende des Views ausgeführt. Wenn man Models nutzt, dann werden diese oftmals am Anfang des Views gelesen und/oder am Ende des Views geschrieben. Forms werden oftmals am Anfang des Views validiert (sofern man Forms als Eingabe hatte) und oftmals am Ende konstruiert (sofern man Forms ausgibt). Also, hat schon irgendwo eine Reihenfolge, aber so richtig festgeschrieben wann welcher Schritt folgt gibt es nicht, man kann je nach Bedarf die Reihenfolge ändern.
Ein View ist letztendlich eine Funktion. Was du darin machst ist deine Sache, da schreibt dir Django nicht viel vor.
Re: Django Forms <-- Verarbeitungsreihenfolge
Verfasst: Freitag 4. April 2014, 11:22
von samid
Ok, danke für die Antwort, mit der Zeit werde ich das schon verstehen.