Strategia di applicazione di Django

14

Ho lavorato un po 'su un progetto Django che è cresciuto un po' ultimamente. Ho pensato un po 'a quale strategia utilizzare per renderlo più facile da gestire. Una cosa su cui vorrei avere qualche input sarebbe se dovessi dividere la mia applicazione in diverse applicazioni più piccole. Ciò renderebbe i miei file di visualizzazione e di modello più piccoli e separerebbe alcune delle preoccupazioni.

Una cosa che mi dà fastidio è che nelle mie applicazioni avrei diversi metodi di supporto che verranno utilizzati tra le applicazioni. Inoltre, alcuni modelli dovranno essere condivisi / utilizzati tra le applicazioni. Questo avrebbe senso? Ciò non si sposa bene con la separazione delle preoccupazioni che speravo di ottenere suddividendo la mia app in diverse app più piccole. Quale sarebbe un buon approccio per condividere metodi di supporto, modelli ecc. Tra le applicazioni?

    
posta Mikael 14.08.2012 - 11:53
fonte

2 risposte

11

Se il tuo progetto si sta ingrandendo, pensa alle app come moduli riutilizzabili. Puoi separare la funzionalità che è condivisa tra le tue app nella sua app.

Guarda le discussioni sottostanti per ulteriori considerazioni in merito:

risposta data 21.08.2012 - 11:22
fonte
2

Mi piace creare un'app base/ senza visualizzazioni e senza momenti per contenuti condivisi.

Un problema che può verificarsi quando i modelli sono distribuiti su più app sono le importazioni circolari. Questo può essere evitato usando le stringhe per fare riferimento ad altri modelli ( foo = ForeignKey("someapp.Foo") invece di foo = ForeignKey(someapp.models.Foo) ). Django ti permette di usare stringhe come questa in più posti.

    
risposta data 22.08.2012 - 14:20
fonte

Leggi altre domande sui tag