Le linee guida principali sono simili a qualsiasi altro progetto di codice di grandi dimensioni. Le app devono rispondere a una singola responsabilità chiaramente definita. Il nome "applicazione" è un termine improprio; Le app Django dovrebbero essere pensate più come componenti riutilizzabili che possono essere collegati per creare un'applicazione reale. I test per ogni app devono essere contenuti all'interno di quell'app. Le app dovrebbero essere disaccoppiate l'una dall'altra il più possibile, ma chiaramente ci saranno delle dipendenze, quindi l'obiettivo dovrebbe essere quello di mantenere il grafico delle dipendenze il più semplice e sano possibile.
Preferisco mantenere tutti i modelli per un progetto in una singola directory di modelli a livello di progetto, con una sottodirectory per ogni app (utilizzando una sottodirectory template per ogni app è una convenzione molto forte in Django, poiché evita il nome del modello collisioni tra app). Il motivo per una singola directory di modelli a livello di progetto è che i template, gli alberi di ereditarietà dei template e i nomi dei blocchi possono essere specifici del progetto, quindi è difficile fornire modelli di app "predefiniti" che possano essere collegati a qualsiasi progetto.Ci sono stati alcuni tentativi di stabilire convenzioni di denominazione standard per i modelli di base del sito e i blocchi che definiscono, ma non ho ancora visto uno standard emergere (il modo in cui fanno le cose su Pinax è probabilmente il più vicino a standard).
Per "esternalizzazione delle stringhe", se si intende i18n e l10n, Django ha un forte supporto per questo e le posizioni standard in cui inserisce i file .po - controllare lo docs.
fonte
2008-09-25 19:30:33
In questa risposta, è necessario sfuggire ai caratteri di sottolineatura iniziali in \ _ \ _ init__.py per evitare che vengano interpretati come testo in grassetto dal motore di markup. – akaihola