我刚刚浏览了Django 1.9的alpha发行说明,然后看到startapp
管理命令现在添加了apps.py文件。
该文件的目的是什么?该的startApp文档并没有提供更多的信息。
我刚刚浏览了Django 1.9的alpha发行说明,然后看到startapp
管理命令现在添加了apps.py文件。
该文件的目的是什么?该的startApp文档并没有提供更多的信息。
Answers:
apps.py
文件目的:
创建此文件是为了帮助用户包括该应用程序的任何应用程序配置。使用此功能,您可以配置应用程序的某些属性。
应用程序配置对象存储应用程序的元数据。可以在AppConfig子类中配置某些属性。其他设置由Django设置且为只读。
假设您要创建一个名为的可插拔应用"Rock ’n’ roll"
,然后为管理员提供适当的名称,我们可以执行以下操作:
在rock_n_roll
app中,我们创建一个RockNRollConfig
AppConfig类。
#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
文件中指定,我们可以使您的应用程序默认加载此子类。
# rock_n_roll/__init__.py
default_app_config = 'rock_n_roll.apps.RockNRollConfig'
这样做会导致仅在包含RockNRollConfig
时使用。这使我们可以使用功能,而无需用户更新其设置。INSTALLED_APPS
'rock_n_roll'
AppConfig
INSTALLED_APPS
without requiring our users to update their INSTALLED_APPS setting.
:这是什么意思:基本上,如果我不这样做,default_app_config = 'rock_n_roll.apps.RockNRollConfig'
那么我必须在INSTALLED_APPS中提及default_app_config = 'rock_n_roll.apps.RockNRollConfig'