Django 1.9中apps.py的用途是什么?
我刚刚阅读了Django 1.9的alpha发行说明 ,看到startapp
pipe理命令现在添加了一个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'
。 这使我们能够使用AppConfig
function,而不需要我们的用户更新他们的INSTALLED_APPS
设置。
这是推荐你的应用程序configuration的地方 。 这个function从1.7开始就在这里,但是为了促进它的使用并且使configuration更容易, apps.py
文件已经被添加到默认的应用程序模板中。