Chapitre 7. Structure des grandes applications
Bien qu'il soit très pratique d'avoir de petites applications Web stockées dans un seul fichier de script, cette approche n'est pas très évolutive. Au fur et à mesure que l'application devient plus complexe, travailler avec un seul grand fichier source devient problématique.
Contrairement à la plupart des autres frameworks web, Flask n'impose pas d'organisation spécifique pour les grands projets ; la manière de structurer l'application est entièrement laissée au développeur. Dans ce chapitre, une façon possible d'organiser une grande application en paquets et en modules est présentée. Cette structure sera utilisée dans les autres exemples du livre.
Structure du projet
L'exemple 7-1 montre la mise en page de base pour une application Flask.
Exemple 7-1. Structure de base d'une application Flask à fichiers multiples.
|-flasky
|-app/
|-templates/
|-static/
|-main/
|-__init__.py
|-errors.py
|-forms.py
|-views.py
|-__init__.py
|-email.py
|-models.py
|-migrations/
|-tests/
|-__init__.py
|-test*.py
|-venv/
|-requirements.txt
|-config.py
|-flasky.pyCette structure comporte quatre dossiers de premier niveau :
-
L'application Flask vit à l'intérieur d'un paquet génériquement nommé app.
-
Le dossier migrations contient les scripts de migration de la base de données, comme précédemment.
-
Les tests unitaires sont ...