2010-09-19 5 views
7

Ich habe Django und Django-Pässe in einem Anfrageobjekt zu einer Ansicht verwendet, wenn es ausgeführt wird. Es sieht so aus (auf den ersten Blick) in Flask, dass die Anwendung die Anfrage besitzt und importiert wird (als wäre es eine statische Ressource). Ich verstehe das nicht und ich versuche nur mein Gehirn um WSGI und Flask usw. zu wickeln. Jede Hilfe wird geschätzt.Flask for Python - Architekturfrage bezüglich des Systems

Antwort

7

In Flask Anfrage ist ein Thread-sicher global, so dass Sie es tatsächlich importieren:

from flask import request 

Ich bin nicht sicher, ob diese Funktion zu WSGI als anderem WSGI Mikro-Frameworks Anfrage kann passieren, wie ein zusammenhängt Funktionsargument anzeigen "Global" Anfrageobjekt ist eine Funktion von Flask. Kolben fördert auch zum Speichern von Benutzerdaten, die für eine einzelne Anforderung in einem ähnlichen Objekt namens flask.g gilt:

Daten zu teilen, die für eine Anforderung gültig ist nur von einer Funktion zur anderen, eine globale Variable ist nicht gut genug, weil es in Thread-Umgebungen einbrechen würde. Flask bietet Sie mit einem speziellen Objekt, das gewährleistet, es ist nur gültig für die aktive Anfrage und das wird verschiedene Werte für jede Anfrage zurückgeben. In einer Nussschale: Es tut das Richtige, wie es für Anfrage und Sitzung tut.