[PYTHON] ballon

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.

Objets locaux de thread

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.

le contexte

Différents objets de contexte sont accessibles dans un format global.

session

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.

configuration

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.

Valeur de retour

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.

Vue

Affichez les fonctions en fonction du format, telles que render_template et jsonify.

Plan

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.

Conversion et validation des données de paramètres

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

ballon
ballon
Premier flacon
Paramètres initiaux du flacon
Introduction au développement de flacons
Notes sur Flask
Mémo de base Flask
Depuis le proxy Redis de Flask
Paramètres de la base de données Flask
Certification Flask Basic
Tutoriel Flask # 1 ~ GET Request ~
Flacon facile à utiliser
Tutoriel Flask # 3 ~ DB Linkage ~
Restriction IP avec Flask
validation jsonschema sur flask
Supprimer la journalisation des flacons python3
Page de résumé de l'article Flask
Personnaliser les journaux d'accès Flask
Mémorandum de construction du site Flask
Bonjour le monde sur flacon
Paramètres du modèle HTML Flask
Exécutez Apache2 + WSGI + Flask
Programmation avec Python Flask
Téléchargeur d'images avec Flask
support de squelette de fiole de gae
Introduction de flacon - Mémo d'application Blueprint