Der wichtigste Vorteil ist die Vererbung. Bei einem großen Projekt haben Sie wahrscheinlich viele ähnliche Ansichten. Anstatt immer wieder denselben Code zu schreiben, können Sie Ihre Ansichten einfach von einer Basisansicht erben lassen.
Außerdem wird Django mit einer Sammlung allgemeiner Ansichtsklassen geliefert, mit denen einige der häufigsten Aufgaben ausgeführt werden können. Beispielsweise wird die DetailView-Klasse verwendet, um ein einzelnes Objekt von einem Ihrer Modelle zu übergeben, es mit einer Vorlage zu rendern und die http-Antwort zurückzugeben. Sie können es direkt in Ihre URL conf einstecken.
url(r'^author/(?P<pk>\d+)/$', DetailView.as_view(model=Author)),
Oder Sie können es mit benutzerdefinierten Funktionen erweitern
class SpecialDetailView(DetailView):
model = Author
def get_context_data(self, *args, **kwargs):
context = super(SpecialDetailView, self).get_context_data(*args, **kwargs)
context['books'] = Book.objects.filter(popular=True)
return context
Jetzt wird Ihrer Vorlage eine Sammlung von Buchobjekten zum Rendern übergeben.
Ein guter Anfang ist ein gutes Lesen der Dokumente .
Aktualisieren
ccbv.co.uk bietet umfassende und benutzerfreundliche Informationen zu den klassenbasierten Ansichten, die Ihnen bereits zur Verfügung stehen.