Avant-propos

Lisez ceci avant de vous lancer dans l’utilisation de Flask. Il répondra, nous l’espérons, à certaines questions sur l’objet et les objectifs du projet, et sur le moment où vous devez ou non l’utiliser.

Que signifie « micro » ?

« Micro » ne signifie pas que l’ensemble de votre application web doit tenir dans un seul fichier Python (bien que ce soit certainement possible), ni que Flask manque de fonctionnalités. Le « micro » de micro-infrastructure logicielle signifie que Flask vise à garder le noyau simple mais extensible. Flask ne prendra pas beaucoup de décisions pour vous, comme le choix de la base de données à utiliser. Les décisions qu’il prend, comme le moteur de modèle à utiliser, sont faciles à modifier. Tout le reste dépend de vous, de sorte que Flask puisse être tout ce dont vous avez besoin et rien que vous n’ayez besoin.

Par défaut, Flask n’inclut pas de couche d’abstraction de base de données, de validation de formulaire ou quoi que ce soit d’autre là où il existe déjà des bibliothèques différentes qui peuvent gérer cela. Au lieu de cela, Flask supporte des extensions pour ajouter de telles fonctionnalités à votre application comme si elles étaient implémentées dans Flask lui-même. De nombreuses extensions permettent l’intégration de bases de données, la validation de formulaires, la gestion des téléchargements, diverses technologies d’authentification ouverte, etc. Flask est peut-être « micro », mais il est prêt à être utilisé en production pour une variété de besoins.

Configuration et conventions

Flask possède de nombreuses valeurs de configuration, avec des valeurs par défaut judicieuses, et quelques conventions lors de la prise en main. Par convention, les modèles et les fichiers statiques sont stockés dans des sous-répertoires dans l’arbre source Python de l’application, avec les noms templates et static respectivement. Bien que cela puisse être modifié, vous n’avez généralement pas besoin de le faire, surtout au début.

Se développer avec Flask

Une fois que vous avez mis en place Flask, vous trouverez une variété d’extensions disponibles dans la communauté pour intégrer votre projet pour la production.

Au fur et à mesure que votre base de code se développe, vous êtes libre de prendre les décisions de conception appropriées à votre projet. Flask continuera à fournir une couche adaptative très simple à ce que Python a de mieux à offrir. Vous pouvez mettre en œuvre des modèles avancés dans SQLAlchemy ou un autre outil de base de données, introduire la persistance des données non relationnelles, le cas échéant, et tirer parti des outils agnostiques construits pour WSGI, l’interface web Python.

Flask inclut de nombreux crochets pour personnaliser son comportement. Si vous avez besoin de plus de personnalisation, la classe Flask est construite pour être sous-classée. Si cela vous intéresse, consultez le chapitre Becoming Big. Si vous êtes curieux de connaître les principes de conception de Flask, allez voir la section sur la Design Decisions in Flask.