2015-02-24 7 views
6

Per il codice di terze parti (jquery) nel mio progetto Django, ho adottato una struttura di directory per i miei file statici che mette tutti i file di terze parti in una sottodirectory separata lib. In particolare, questo è ciò che il mio albero di directory attualmente si presenta come:Qual è il layout di directory consigliato per i file statici di terze parti nei progetti Django?

myproject/ 
    myproject/ 
    static/ 
     css/ 
     my-own-stylesheet.css 
     lib/ 
      bobs-stylesheet.css 
      joes-stylesheet.css 
     img/ 
     my-own-image.png 
     lib/ 
      bobs-image.png 
      joes-image.png 
     js/ 
     my-own-javascript.js 
     lib/ 
      bobs-javascript.js 
      joes-javascript.js 

Questo è destinato a realizzare due cose: 1. Separazione dei miei beni da beni di terzi. 2. Separazione di file css, img e js.

Ovviamente, finché i percorsi sono tutti corretti, questo funziona correttamente, ma esiste effettivamente una convenzione per un percorso per materiale di terze parti nei progetti Django?

Ho anche considerato

myproject/ 
    myproject/ 
    static/ 
     css/ 
     img/ 
     js/ 
     lib/ 
     bob/ 
      css/ 
      img/ 
      js/ 
     joe/ 
      css/ 
      img/ 
      js/ 

mi chiedo se mi è overthinking questo, ma c'è un "best-practice" per questo?

+0

Io uso il tuo ultimo approccio. Mantenere isolate le risorse di terzi semplifica gli aggiornamenti (non si intende comunque toccarli). – cdvv7788

risposta

3

L'ultimo approccio è molto meglio.

  1. Si può semplicemente decomprimere la libreria di terze parti e incollare la cartella. Non è necessario copiare e incollare manualmente ciascun file in cartelle diverse.
  2. È anche possibile utilizzare lo strumento di gestione dei pacchetti front-end (che consiglio) come bower con la struttura delle directory.
  3. Potrebbe non essere necessario modificare la struttura di directory di terze parti in css, js e immagini .. È possibile lasciare qualsiasi cosa abbia.

Se il tuo progetto è un po 'più grande, puoi prendere in considerazione la creazione di una directory diversa per ciascuna delle app che hai creato.

Questa la struttura di directory, che io in genere seguo:

myproject/ 
    myproject/ 
    static/ 
     my_app_1 
     css/ 
     img/ 
     js/ 
     my_app_2 
     css/ 
     img/ 
     js/ 
     lib/ 
     bob/ 
      what_ever_directory_str_it_has 
     joe/ 
      css/ 
      img/ 
      js/ 
Problemi correlati