Pochi giorni fa, ho iniziato a lavorare in una nuova azienda. Prima di me, tutti i codici front-end e back-end sono stati scritti da un solo uomo.
Come sai, l'app Django contiene due directory principali per front-end: / statico - per file (pubblici) statici e / templates - per i modelli di Django
Ora abbiamo una grande applicazione con più di 10 diversi moduli come: home, admin, spanel, mobile ecc.
Questa è la struttura corrente di file e directory:
FIRST - / directory statica. Come puoi vedere, sono le directory miste con alcuni moduli con nome, alcuni con librerie globali.
unaltro:
SECOND - / templates directory. Alcune directory denominate come modulo con modelli misti, alcuni dipende dalla nuova versione =), alcuni utilizzati solo nel modulo, ma collocati globalmente.
ealtro:
Penso che questa sia una struttura brutta, non manutenibile, put-in-stress!
Dopo un po 'di tempo, suggerisco di usare questo schema, basato sulla struttura del modulo.
Per prima cosa, abbiamo le directory di versione, utilizzate per salvare il backup completo del progetto, include: / directory DEPRECATED - per vecchi file non utilizzati e / CURRENT (Active) directory, che contiene
versione di produzione del progetto.
Penso sia giusto, perché possiamo accedere a file di versioni precedenti o più recenti in modo facile e veloce. Inoltre, siamo salvati da dipendenze rotte o errate tra diverse versioni.
In secondo luogo, in ogni versione abbiamo moduli standalone e modulo globale.
Ogni modulo contiene le proprie directory / static e / templates. Questa struttura utilizzata per evitare dipendenze errate o errate tra diversi moduli, perché ogni modulo ha la propria app js, tabelle CSS e immagini locali.
Il modulo globale contiene tutte le librerie, i fogli di stile principali e le immagini come i loghi o le favicon.
Penso che questa struttura sia molto meglio da mantenere, aggiornare, refactoring ecc.
La mia domanda è:
Come pensi, questo schema è migliore di quello attuale? Questo schema può essere pubblicato o non è possibile implementarlo nell'app Django?