Django 1.9中apps.py的用途是什么?

我刚刚阅读了Django 1.9的alpha发行说明 ,看到startapppipe理命令现在添加了一个apps.py文件 。

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

apps.py文件的用途:

创build该文件是为了帮助用户包含应用程序的任何应用程序configuration 。 使用这个,你可以configuration应用程序的一些属性。

Application Configuration文档:

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

来自文档的示例:

比方说,你正在创build一个名为"Rock 'n' roll"的可插拔应用程序,然后为pipe理员提供一个合适的名字,我们可以这样做:

rock_n_roll应用程序中,我们创build一个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" 

我们可以通过在rock_n_roll/__init__.py文件中指定default_app_config来默认加载这个AppConfig子类。

 # rock_n_roll/__init__.py default_app_config = 'rock_n_roll.apps.RockNRollConfig' 

这样做会导致在INSTALLED_APPS只包含'rock_n_roll'INSTALLED_APPS 'rock_n_roll' 。 这使我们能够使用AppConfigfunction,而不需要我们的用户更新他们的INSTALLED_APPS设置。

这是推荐你的应用程序configuration的地方 。 这个function从1.7开始就在这里,但是为了促进它的使用并且使configuration更容易, apps.py文件已经被添加到默认的应用程序模板中。