Best practice per la struttura delle directory di lavoro del progetto Django

So che in realtà non esiste un unico modo giusto. Tuttavia ho scoperto che è difficile creare una struttura di directory che funzioni bene e che rimanga pulita per ogni sviluppatore e amministratore. C’è una struttura standard nella maggior parte dei progetti su github. Ma non mostra un modo per organizzare un altro file e tutti i progetti su pc.

Qual è il modo più conveniente per organizzare tutte queste directory sulla macchina di sviluppo? Come li chiami e come ti connetti e li distribuisci al server?

  • progetti (tutti i progetti sui quali stai lavorando)
  • file sorgente (l’applicazione stessa)
  • copia funzionante del repository (io uso git)
  • ambiente virtuale (preferisco posizionarlo vicino al progetto)
  • root statica (per file statici compilati)
  • media root (per file multimediali caricati)
  • LEGGIMI
  • LICENZA
  • documenti
  • schizzi
  • esempi (un esempio di progetto che utilizza l’applicazione fornita da questo progetto)
  • database (nel caso sia usato sqlite)
  • qualsiasi altra cosa di cui hai bisogno per lavorare con successo sul progetto

I problemi che voglio risolvere:

  • Buoni nomi delle directory in modo che il loro scopo sia chiaro.
  • Mantenere tutti i file di progetto (incluso virtualenv) in un unico posto, così posso facilmente copiare, spostare, archiviare, rimuovere tutto il progetto o stimare l’utilizzo dello spazio su disco.
  • Creazione di più copie di alcuni set di file selezionati come l’intera applicazione, repository o virtualenv, mantenendo la singola copia di un altro file che non voglio clonare.
  • Distribuire il set di file corretto sul server semplicemente rsincronizzando una directory selezionata.