Hitchhiker’s Guide für Python by Kenneth Reitz und Tanya Schlusser

Hitchhiker’s Guide für Python by Kenneth Reitz und Tanya Schlusser

Autor:Kenneth Reitz und Tanya Schlusser
Die sprache: deu
Format: epub
Herausgeber: dpunkt
veröffentlicht: 2017-04-15T00:00:00+00:00


Stilbeispiele aus Flask

Ein Großteil der Stilbeispiele aus Kapitel 4 wurden bereits behandelt, für Flask diskutieren wir daher nur ein Stilbeispiel – die Implemenentierung von Flasks eleganten und einfachen Routing-Dekoratoren.

Flasks Routing-Dekoratoren (schön ist besser als hässlich)

Die Routing-Dekoratoren in Flask ergänzen die Zielfunktionen um URL-Routing:

@app.route('/')

def index():

pass

Beim Dispatch eines Requests nutzt die Flask-Anwendung das URL-Routing, um die richtige Funktion zu identifizieren, die die Response generieren soll. Die Dekoratorsyntax hält den Code der Routing-Logik aus der Zielfunktion heraus, hält die Funktion kurz und ist intuitiv zu nutzen.

Der Dekorator ist außerdem nicht nötig und existiert nur, um dem Nutzer dieses API-Feature zur Verfügung zu stellen. Hier ist der Quellcode, eine Methode in der Flask -Hauptklasse, definiert in flask/flask/app.py :

class Flask(_PackageBoundObject):

"""The flask object implements a WSGI application ...

... Alles andere im Docstring überspringen ...

"""

## ~~ ... Alles außer der routing()-Methode übersprungen.

def route(self, rule, **options):

"""A decorator that is used to register a view function for a

given URL rule. This does the same thing as :meth:`add_url_rule`

but is intended for decorator usage::

@app.route('/')

def index():

return 'Hello World'

... Rest des Docstrings übersprungen ...

"""

def decorator(f):

endpoint = options.pop('endpoint', None)

self.add_url_rule(rule, endpoint, f, **options)

return f

return decorator



Download



Haftungsausschluss:
Diese Site speichert keine Dateien auf ihrem Server. Wir indizieren und verlinken nur                                                  Inhalte von anderen Websites zur Verfügung gestellt. Wenden Sie sich an die Inhaltsanbieter, um etwaige urheberrechtlich geschützte Inhalte zu entfernen, und senden Sie uns eine E-Mail. Wir werden die entsprechenden Links oder Inhalte umgehend entfernen.