Habe vor kurzem erst mit Flask angefangen und mir persönlich ist es sehr wichtig was hinter den Kulissen vorgeht.
Mit folgendem Code ist es möglich ein "Hello World" der Webseite anzeigen zu lassen:
Code: Alles auswählen
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "Hello World!"
if __name__ == "__main__":
app.run(port=1337, debug=True)
Habe also mal einen Blick in die Definition von route reingeschaut und bin hierauf gestoßen (die Kommentare im Code lasse ich mal weg):
Code: Alles auswählen
def route(self, rule, **options):
def decorator(f):
endpoint = options.pop("endpoint", None)
self.add_url_rule(rule, endpoint, f, **options)
return f
return decorator
sondern die Wrapperfunktion, also decorator(f). Habe Decorator halt so beigebracht bekommen, dass dem Decorator (hier route)
die Funktion, die dekoriert werden soll, als Parameter übergeben werden soll und nicht der Wrapperfunktion. Die Wrapperfunktion soll ja,
meines Wissens nach, die Funktion die dem Decorator übergeben wurde erweitern...
Von daher würde ich mich freuen, wenn man mir erklären könnte, was genau in dem Prozess passiert bzw. welche Funktionen/Parameter
aufgerufen und/oder an wen übergeben werden.
Mit freundlichen Grüßen
Markus