Questa domanda è stato chiesto in precedenza: oggetti What is the purpose of apps.py in Django 1.9?Qual è lo scopo di apps.py in Django?
configurazione dell'applicazione metadati per un'applicazione. Alcuni attributi possono essere configurati nelle sottoclassi di AppConfig. Altri sono impostati da Django e di sola lettura.
Tuttavia, che cosa significa per i metadati per l'applicazione? È limitato solo a quelli AppConfig
metadata:name
, verbose_name
, path
, label
, module
, models_module
?
Oppure ha senso per estende beyonds i metadati predefinita, in particolare per l'applicazione dei metadati specifico, ad esempio in blog
applicazioni che abbiamo una configurazione formato della data, di solito definita come segue:
# File: settings.py
BLOG = {
'DATE_FORMAT': 'ddMMYYY',
}
A quel viene utilizzato come segue:
# File: blog/<...>.py
from django.conf import settings
date_format = settings.BLOG['DATE_FORMAT']
Al contrario, si potrebbe spostare questa configurazione informazione su blog/apps.py
come BlogConfig
?
class BlogConfig(AppConfig):
name = 'blog'
verbose_name = 'Awesome Blog'
date_format = 'ddMMYYYY'
In modo che tutto il codice dell'applicazione, date_format
viene utilizzato da:
# File: blog/<...>.py
from django.apps import apps
date_format = apps.get_app_config('blog').date_format
Sembra a me che settings.py
è progetto impostazioni, ma non un impostazioni dell'applicazione. Quindi è più suoni mettere tutte le impostazioni dell'applicazione all'interno di apps.py
quindi settings.py
. Quindi, questa è un'assunzione/argomento/convenzione valida per me per inserire la configurazione dell'applicazione all'interno di apps.py
anziché settings.py
?