in python webapp2 wie wird ein __init__ in einen Handler geschrieben (für get und post)

8

Wie kann ich Initialisierungscode erstellen? Wenn ich den __init__ -Konstruktor verwende, sag mir immer, dass die Parameter falsch sind. Geben Sie auch ein Beispiel mit __new__ und einen mit super() und warum sollten wir sie verwenden oder nicht verwenden.

%Vor%

app = webapp2.WSGIApplication ([('/', MainHandler)], debug = True)

    
ZEE 13.03.2013, 23:01
quelle

3 Antworten

13

Endlich verstanden ... Das Problem besteht darin, dass das Überschreiben von "webapp2.RequestHandler" eine spezielle Sonderbehandlung erfordert

aus dem webapp2-Handbuch:

Wenn Sie die Methode webapp2.RequestHandler. init () überschreiben möchten, müssen Sie sie aufrufen webapp2.RequestHandler.initialize () am Anfang der Methode. Es wird die aktuelle Anfrage stellen, Antwort und AppObjekte sind Attribute des Handlers. Beispiel:

%Vor%

... und das war's ... funktioniert jetzt wie erwartet ; -)

    
ZEE 25.03.2013 21:00
quelle
2

Wenn Sie keine Argumente übergeben oder Ihren eigenen Code in der Methode __init__ einfügen, müssen Sie in der Regel keine erstellen. Sie verwenden einfach webapp2.RequestHandler 's __init__ Methode.

Wenn Sie tun müssen, müssen Sie noch webapp2.RequestHandler.__init__ :

aufrufen %Vor%     
Blender 13.03.2013 23:07
quelle
0

Sie müssen eine self Variable in allen Funktionen Ihrer Klasse haben. Sie müssen diese Variable einfügen, damit die Funktion in Ihrer Klasse funktioniert.

Eine gute Erklärung für die Notwendigkeit der Variable self in jeder Funktion innerhalb einer Klasse finden Sie hier .

    
eandersson 13.03.2013 23:03
quelle

Tags und Links