我刚刚查看了alpha release notes for Django 1.9并看到了startapp
管理命令now adds an apps.py file。
这个文件的目的是什么? startapp documentation没有提供更多信息。
答案 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
文件已添加到默认应用程序模板中。