Je dirais que si vous divisez l'application, utilisez une structure divisionnaire plutôt que fonctionnelle. Je préconise cela parce que vous êtes plus susceptible de travailler sur un de ces composants divisionnaires à un moment donné.
Ce type de structure se prête bien aux applications de marché ou SaaS, où différents groupes d'utilisateurs utilisent un type de vue différent. La seule application flask API que je pourrais utiliser est le fractionnement fonctionnel.
Voici des exemples tirés de Flask Blueprints. Les Blueprints sont essentiellement des conseils documentés sur la façon de diviser une application Flask en morceaux plus faciles à gérer. Plus d'informations à ce sujet sur : http://exploreflask.com/en/latest/blueprints.html
Voici un exemple de division. Voyez comment chaque caractéristique est regroupée.
yourapp/
__init__.py
admin/
__init__.py
views.py
static/
templates/
home/
__init__.py
views.py
static/
templates/
control_panel/
__init__.py
views.py
static/
templates/
models.py
Voici l'exemple fonctionnel >
yourapp/
__init__.py
static/
templates/
home/
control_panel/
admin/
views/
__init__.py
home.py
control_panel.py
admin.py
models.py