我刚刚浏览了Django 1.9的alpha发行说明,发现startapp管理命令现在添加了apps.py文件。
该文件的目的是什么?该的startApp文档并没有提供更多的信息。
apps.py文件目的:
apps.py
创建此文件是为了帮助用户包括该应用程序的任何应用程序配置。使用此功能,你可以配置应用程序的某些属性。
从Application Configuration文档:
Application Configuration
应用程序配置对象存储应用程序的元数据。可以在AppConfig子类中配置某些属性。其他设置由Django设置且为只读。
AppConfig
来自文档的示例:
假设你要创建一个名为的可插拔应用"Rock ’n’ roll",然后为管理员提供适当的名称,我们可以执行以下操作:
"Rock ’n’ roll"
在rock_n_rollapp中,我们创建一个RockNRollConfigAppConfig类。
rock_n_rollapp
RockNRollConfigAppConfig
#rock_n_roll/apps.py from django.apps import AppConfig class RockNRollConfig(AppConfig): # Our app config class name = 'rock_n_roll' verbose_name = "Rock ’n’ roll"
AppConfig通过default_app_config在rock_n_roll/__init__.py文件中指定,我们可以使你的应用程序默认加载此子类。
default_app_config
rock_n_roll/__init__.py
# rock_n_roll/__init__.py default_app_config = 'rock_n_roll.apps.RockNRollConfig'
这样做会导致仅在包含RockNRollConfig时使用。这使我们能够使用功能,而无需用户更新其设置。INSTALLED_APPS'rock_n_roll'AppConfigINSTALLED_APPS
RockNRollConfig
INSTALLED_APPS'rock_n_roll'AppConfigINSTALLED_APPS