Direi che se si divide l'applicazione utilizzo delle divisioni piuttosto che la struttura funzionale. Io sostengo questo perché è più probabile lavorare su uno di questi componenti divisionali in qualsiasi momento.
Questo tipo di struttura si presta bene su marketplace o app SaaS in cui diversi gruppi di utenti utilizzano un diverso tipo di visualizzazioni. App per le API solo API Potrei usare la divisione funzionale.
Ecco alcuni esempi di Flask Blueprints. I progetti sono essenzialmente un consiglio documentato su come suddividere l'applicazione Flask per pezzi più gestibili. Ulteriori informazioni su questo: http://exploreflask.com/en/latest/blueprints.html
Ecco un esempio di divisione divisionale. Guarda come ciascuna caratteristica è raggruppata.
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
Ecco l'esempio funzionale>
yourapp/
__init__.py
static/
templates/
home/
control_panel/
admin/
views/
__init__.py
home.py
control_panel.py
admin.py
models.py
fonte
2016-11-11 17:50:04
Non capisco che, perché abbiamo un solo file per tutti i modelli? Che dire della pratica 'una classe per file'? Cosa succede se alcuni modelli sono abbastanza grandi? Dovremmo spostare parte della logica in altri moduli? Eppure, se volessi che i miei modelli fossero in file separati, dovrei semplicemente creare un "modello" di modulo? Grazie! – lime
@lime, come strutturare il progetto quando ci sono più modelli ?, posso aiutarmi per favore. –
@lime Non sono un fan di "una classe per file". Trovo che percorsi di importazione ripetitivi e ripetitivi siano ingombranti. Si finisce anche con un sacco di importazioni extra per far sì che tutto sia separato, a meno che non si importi tutto in un '__init __. Py', che può essere difficile da mantenere. Detto questo, sei libero di strutturare il tuo progetto come preferisci. Stavo semplicemente offrendo una convenzione che molte persone seguono. – dirn