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

时间:2015-09-26 08:39:11

标签: django

我刚刚查看了alpha release notes for Django 1.9并看到了startapp管理命令now adds an apps.py file

这个文件的目的是什么? startapp documentation没有提供更多信息。

2 个答案:

答案 0 :(得分:120)

apps.py档案的目的:

创建此文件是为了帮助用户包含该应用的任何application configuration。使用它,您可以配置应用程序的一些属性。

来自Application Configuration文档:

  

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

来自docs:

的示例

假设您正在创建名为"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设置。

答案 1 :(得分:14)

建议您放置application configuration。此功能自1.7版本开始提供,但为了促进其使用并实现更轻松的配置,apps.py文件已添加到默认应用程序模板中。