這個問題已經被剛纔問:What is the purpose of apps.py in Django 1.9?Django中apps.py的用途是什麼?
應用配置對象存儲元數據的應用程序。一些屬性可以在AppConfig子類中配置。其他的由Django設置,只讀。
但是,元數據對於應用程序意味着什麼?它僅限於那些AppConfig
metadata:name
, verbose_name
, path
, label
, module
, models_module
?
或者它是有意義的延伸beyonds的預定元數據,特別是對於特定應用的元數據,例如,在blog
應用我們有一個日期格式配置,通常定義如下:
# File: settings.py
BLOG = {
'DATE_FORMAT': 'ddMMYYY',
}
在哪個它被用作如下:
# File: blog/<...>.py
from django.conf import settings
date_format = settings.BLOG['DATE_FORMAT']
相反地,我們可以將這個配置blog/apps.py
作爲BlogConfig
?
class BlogConfig(AppConfig):
name = 'blog'
verbose_name = 'Awesome Blog'
date_format = 'ddMMYYYY'
因此,在整個應用程序的代碼,date_format
正在由:
# File: blog/<...>.py
from django.apps import apps
date_format = apps.get_app_config('blog').date_format
這聽起來對我來說,settings.py
是項目設置,但不包括應用程序設置。因此,將所有應用程序設置放在apps.py
然後settings.py
內的聲音更多。那麼,對於我來說,這是一個有效的假設/參數/約定,將應用程序配置放入apps.py
而不是settings.py
?