2013-03-05 6 views
5

Ich versuche derzeit, mit Django 1.5 in "Class Based Views" zu kommen.Design von CBVs in Django

Aus der Design-Perspektive frage ich mich, wo die Logik zu verarbeiten Daten aus einem Formular in einem einfachen FormView.

Ich weiß, dass alle Formular Validierung Code in die Methode form_valid() kommt. Aber wo man Sachen setzt, die Daten der Form verarbeiten. Ich habe gelesen, dass es irgendwie unpassend ist, zu viel Logik in die form_valid() Methode zu stecken.

Es gibt die get(), , get_context_data(), head() usw. Methoden ... welche sollte ich in welchem ​​Fall verwenden?

+0

Haben Sie https://docs.djangoproject.com/en/dev/topics/class-based-views gelesen?/generische Bearbeitung /? –

+0

jep! Aber das war nicht sehr hilfreich für mich! – Jurudocs

Antwort

1
  1. Formularvalidierung, Datenbereinigung, etc. geht mit der Formularklasse in der sauberen Methode

  2. Bearbeitung eines gültigen

  3. in einem außer Kraft gesetzt form_valid Verfahren gehen sollte

Das ist es! Wenn Ihr Anwendungsfall komplizierter ist, können Sie andere Methoden Ihrer Erstellung ausrufen: form_valid ...

1

Jede Antwort auf diese Frage steht zur Diskussion. Das heißt, Ansichten sind nur Python-Klassen, so dass Sie jede Methode überschreiben können, um die Dinge entsprechend anzupassen.

Es ist auch vollkommen legitim, eine zusätzliche Methode für die Datenverarbeitung in Ihrer Klasse zu erstellen.