一尘不染

Django 1.9中apps.py的目的是什么?

django

我刚刚浏览了Django 1.9的alpha发行说明,发现startapp管理命令现在添加了apps.py文件。

该文件的目的是什么?该的startApp文档并没有提供更多的信息。


阅读 1137

收藏
2020-04-01

共1个答案

一尘不染

apps.py文件目的:

创建此文件是为了帮助用户包括该应用程序的任何应用程序配置。使用此功能,你可以配置应用程序的某些属性。

Application Configuration文档:

应用程序配置对象存储应用程序的元数据。可以在AppConfig子类中配置某些属性。其他设置由Django设置且为只读。

来自文档的示例:

假设你要创建一个名为的可插拔应用"Rock ’n’ roll",然后为管理员提供适当的名称,我们可以执行以下操作:

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_configrock_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

2020-04-01