django-clsview.

Noch ein weiteres klassifisches Ansichtssystem für Django
Jetzt downloaden

django-clsview. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Other/Proprietary Li...
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Zachary Voase
  • Website des Verlags:
  • http://github.com/disturbyte/

django-clsview. Stichworte


django-clsview. Beschreibung

Noch ein weiteres klassifisches Ansichtssystem für Django Django-CLSView ist eine Django-App mit noch einer anderen Lösung für das Problem der klassischen Ansichten in django.installationDie üblichkeit: PIP Install Django-CLSView # OREASE_INSTALL DJANGO-CLSVIEWTHEREs Nein, DjclsView-Ansichten hinzuzufügen ( CBVs) sind Klassen, die sich auf ähnliche Weise wie Django-Ansichtsfunktionen verhalten. Die zugrunde liegende Anforderung für Django-Ansichten ist, dass sie Anfragen an Antworten aufweisen; Durch die Verwendung von Klassen erhalten wir die Vorteile des Erbschafts, um die Kesselplatte zu reduzieren und die Wiederverwendbarkeit zu erhöhen. Es gibt viele Ansätze für klassische Ansichten; Dieser besondere Ansatz handelt einen sehr leichten Leistungs- und Memory-Footprint für Einfachheit und Thread-safety. Sie können direkt von der URLCONF auf eine klassische Ansicht zeigen: URLPATTERNS = Muster ('', ... URL (R '^ View / $ ',' myapp.views.myview ', Name =' My-View '), ...) Um das Verhalten einer Funktion zu replizieren, wurde __NEw __ () überschrieben; CLASSNAME CLASSNAME (Anforderung, * Args, ** kwargs) wird die Klasse instanziieren und dann das Objekt anrufen (d. H. Obj .__ Call __ ()), was auch immer zurückgibt, was auch immer zurückgibt (was ein django.http.httpresponse-Instanz sein sollte). Auf der höchsten Ebene können auf höchstem Niveau identisch verwendet werden, um Funktionen anzuzeigen. Dies kann nützlich sein, wenn Sie auf die auf einer anderen Ansichtsklasse definierten Funktionen zugreifen müssen (obwohl eine separate Dienstprogrammklasse oder Mixin in der Regel eine bessere Idee für die gemeinsam genutzte Funktionalität ist) .Some Punkte, um sich über diese Implementierung zu beachten Um die Instanz nach der Erstellung sofort anzurufen. Sie sollten dies nicht in einer Unterklasse berühren müssen. * Die Anforderungsverarbeitung erfolgt in zwei Phasen: - Initialisierung: Das __Init __ () -Methode wird in einem Beispiel der Ansichtsklasse aufgerufen, wobei alle Argumente aus dem URLCONF (dh (Selbst, Anforderung, * Args, ** kwargs)). Standardmäßig speichert dies die Anfrage-, Positions- und Keyword-Argumente in der Instanz als self.Request, self.args und self.kwargs.- Antwort: Die __CALL __ () -Methode wird ohne Argumente (außer sich selbst) aufgerufen. Dies sollte eine Instanz von django.http.httpresponse zurücksenden. * Decoratoren in der Instanzmethoden müssen mit django.utils.Decoratoren eingewickelt werden. Etwas () PRÜFUNGIMPLEPLE SEINE Definition und Aufruf: >>> von DjclsView Importansicht >>> Klasse MyView (Ansicht): ... DEF __CALL __ (SELBST): ... drucken self.request ... drucken self.args .. . drucken self.kwargs >>> myView ('Anforderung', 'arg1', 'arg2', kwarg1 = 'Wert', kwarg2 = 'Wert') Anforderung ('arg1', 'arg2') {'kwarg1': ' Wert ',' kwarg2 ':' Wert '} Instantiate einer Ansicht, SideTepping-Anrufe: >>> View = myView._new (' Anforderung ',' Argument ', kwarg =' Wert ') >>> Ansicht <__main __ myview-objekt bei 0x> Dekorieren einer Ansicht mit einem View-Dekoratik "Unauthentifiziert!" ... RETURN FUNC (Anfrage, * Args, ** kwargs) ... Rücklaufverpackung >>> Klasse MyProtedView (Ansicht) : ... DEF __CALL __ (SELBST): ... Drucken 'Aufruf' >>> myProtectedView = myProtectedView._decorat (auth_required) >>> MyProtectedView ({'authenticiert': true}) Aufruf >>> MyProtedView ({'authenticated ': False}) Traceback (der letzte Anruf zuletzt): ... AssertionError: Nicht authentifiziert! Verwenden von CLS._Decatat () ist hier erforderlich. Just Wrapping Die Klasse würde die Wrapper-Funktion zurückgeben (wie vom Dekorator zurückgegeben). _decorat () Wraps __new __ () und gibt eine Klasse zurück. Anforderungen: · Python · Django


django-clsview. Zugehörige Software