flask Un framework qui utilise werkzeug et jinja2. Micro cadre. À l'exception des bibliothèques externes, il ne prend en charge que les vues autour.
Utilisez werkzeug.local pour que les requêtes, etc. ressemblent à des objets globaux. → Est-ce pour le rendre accessible de n'importe où? Naturellement, le code d'implémentation est compliqué.
**? Comment LocalProxy garantit-il la sécurité des threads? ** ** → Puisque l'objet Local gère les données en utilisant l'id obtenu par la fonction thread.get_ident ou gleenlet.get_current comme clé, la même mise à jour de clé ne se produit pas à partir de plusieurs threads.
Différents objets de contexte sont accessibles dans un format global.
Le module de session de Werkzeug n'est pas du tout utilisé. SessionInterface et SessionCookieSession sont les clés. L'interface de session est responsable des opérations telles que la création et l'enregistrement de sessions, et le cookie de session contient des informations de session. La session se déroule dans RequestContext.
Puisque l'opération et les données sont séparées, il semble être orienté anti-objet à première vue, mais si vous le considérez comme un module appelé sessions.py, il se peut que ce ne soit pas le cas.
Accédez à l'instance Config via l'objet app.config. Étant donné que l'objet de configuration est une sous-classe de dict, il est possible de définir des valeurs qui ne sont pas définies du côté du flacon. En définissant ConfigAttribute sur l'objet d'application, il est possible d'accéder à certaines valeurs de paramètre à partir de l'objet d'application. ConfigAttribute agit uniquement en tant qu'intermédiaire de l'instance de configuration. Le besoin est douteux.
Il semble y avoir une règle lâche qui décrit la valeur de retour comme rv. Dans une fonction avec un traitement long, il est facile de comprendre quelle est la valeur de retour, mais comme il n'y a aucune information autre que la valeur de retour dans le nom rv, la lisibilité est réduite à moins que la valeur de retour ne soit spécifiée en premier.
Affichez les fonctions en fonction du format, telles que render_template et jsonify.
Possibilité d'étendre le fonctionnement de l'application. Il est possible de créer une application de base ou de diviser une grande application en plusieurs parties pour chaque route URL.
wtforms Le cadre de validation introduit dans flask.
La conversion des données est effectuée lorsque l'instance Form est créée (processus) et la validation est effectuée lorsque la méthode de validation est exécutée. Cependant, même si une erreur se produit lors de la conversion des données, seules les informations d'erreur sont conservées et l'exception n'est pas propagée. Il sera fusionné lors de l'exécution de la validation.
Recommended Posts