该网站上的教程创建了一个名为 polls 的应用程序。它使用 django 1.9,所以在 INSTALLED_APPS 中它是:
polls.apps.PollsConfig
我正在观看一个教程,他将应用程序命名为新闻通讯,并且在 INSTALLED_APPS 中他有
newsletter
不过他用的是1.8。我用的是1.9。我看过其他教程,他们也只是像他一样在语法中添加了一个不带点的名称。我意识到事情可能会有所不同,这是可以理解的。需要明确的是,我是否将我的应用程序命名为“狗”。在已安装的应用程序中,它将被命名为这样
dogs.apps.DogsConfig
或者如果它是树,那就是
tree.apps.TreeConfig
命名约定就是这样的吗?我还认为新版本中的内容会变得更短并且更方便。所以从仅仅添加
newsletter,
必须输入
polls.apps.PollsConfig
我觉得很奇怪。但我是新人,所以我可能错过了一些东西。欢迎任何和所有建议
那就是应用程序配置 https://docs.djangoproject.com/en/1.9/ref/applications/Django 1.7 的新增功能。
基本上,现在您可以列出INSTALLED_APPS
包含应用程序的模块或派生自的类django.apps.AppConfig
并定义应用程序的行为。
此功能具有以下几个优点:
- 应用程序可以更轻松地配置,甚至可以进行子类化以进行自定义。
- 您可以在同一模块中拥有多个应用程序。
应用模块可以定义特殊的模块变量default_app_config
指定他们的姓名AppConfig
,这样他们就可以使用新功能,而无需在中指定该类的全名INSTALLED_APPS
。但这是一个向后兼容功能,建议新应用程序编写完整的AppConfig
name.
无论如何,大多数django/contrib
应用程序使用它default_app_config
,与旧配置兼容。例如,请参阅文件django/contrib/messages/__init__.py
只是:
from django.contrib.messages.api import *
from django.contrib.messages.constants import *
default_app_config = 'django.contrib.messages.apps.MessagesConfig'
因此,根据OP请求将其相加:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)