flask Ein Framework, das werkzeug und jinja2 verwendet. Mikro-Framework. Mit Ausnahme externer Bibliotheken werden nur Umansichten unterstützt.
Verwenden Sie werkzeug.local, um Anfragen usw. wie globale Objekte aussehen zu lassen. → Soll dies von überall zugänglich sein? Natürlich ist der Implementierungscode kompliziert.
**? Wie wird sichergestellt, dass LocalProxy threadsicher ist? ** ** ** → Da das lokale Objekt die Daten mit der ID verwaltet, die von der Funktion thread.get_ident oder gleenlet.get_current als Schlüssel erhalten wurde, erfolgt die gleiche Schlüsselaktualisierung nicht über mehrere Threads.
Auf verschiedene Kontextobjekte kann in einem globalen Format zugegriffen werden.
Das Sitzungsmodul von Werkzeug wird überhaupt nicht verwendet. SessionInterface und SessionCookieSession sind die Schlüssel. Die Sitzungsschnittstelle ist für Vorgänge wie das Erstellen und Speichern von Sitzungen verantwortlich, und das Sitzungscookie enthält Sitzungsinformationen. Die Sitzung findet im RequestContext statt.
Da die Operation und die Daten getrennt sind, scheint sie auf den ersten Blick anti-objektorientiert zu sein. Wenn Sie sie jedoch als ein Modul namens session.py betrachten, ist dies möglicherweise nicht der Fall.
Greifen Sie über das Objekt app.config auf die Instanz Config zu. Da das Konfigurationsobjekt eine Unterklasse von dict ist, können Werte festgelegt werden, die nicht auf der Kolbenseite festgelegt sind. Durch Festlegen von ConfigAttribute für das Anwendungsobjekt ist es möglich, über das Anwendungsobjekt auf einige Einstellungswerte zuzugreifen. ConfigAttribute fungiert nur als Vermittler für die Konfigurationsinstanz. Die Notwendigkeit ist zweifelhaft.
Es scheint eine lose Regel zu geben, die den Rückgabewert als rv beschreibt. In einer Funktion mit langer Verarbeitung ist es leicht zu verstehen, was der Rückgabewert ist. Da der Name rv jedoch keine anderen Informationen als den Rückgabewert enthält, wird die Lesbarkeit verringert, sofern der Wert nicht zuerst angegeben wird.
Zeigen Sie je nach Format Funktionen an, z. B. render_template und jsonify.
Möglichkeit, den Betrieb der Anwendung zu erweitern. Es ist möglich, eine Basisanwendung zu erstellen oder eine große Anwendung für jede URL-Route in mehrere Teile zu unterteilen.
wtforms Das in der Flasche eingeführte Validierungsframework.
Die Datenkonvertierung wird durchgeführt, wenn die Formularinstanz erstellt wird (Prozess), und die Validierung wird ausgeführt, wenn die Validierungsmethode ausgeführt wird. Selbst wenn während der Datenkonvertierung ein Fehler auftritt, bleiben die Fehlerinformationen erhalten und die Ausnahme wird nicht weitergegeben. Es wird zusammengeführt, wenn die Validierung ausgeführt wird.
Recommended Posts