该网站上的教程创建了一个名为polls的应用程序.它使用的是django 1.9,所以它在INSTALLED_APPS中
polls.apps.PollsConfig
Run Code Online (Sandbox Code Playgroud)
我正在观看他为应用程序时事通讯命名的教程,并且在他的INSTALLED_APPS中
newsletter
Run Code Online (Sandbox Code Playgroud)
不过,他正在使用1.8.我使用的是1.9.我已经看过其他教程了,他们也只是在语法中添加了一个没有点的名字.我意识到事情可能会有所不同,这是理解的.要清楚,如果我命名我的应用程序狗.在已安装的应用程序中,它将被命名为这样
dogs.apps.DogsConfig
Run Code Online (Sandbox Code Playgroud)
或者如果它是树,那就是
tree.apps.TreeConfig
Run Code Online (Sandbox Code Playgroud)
这是命名惯例的方式吗?我也会认为在较新的版本中会更短,更方便.所以从仅仅添加
newsletter,
Run Code Online (Sandbox Code Playgroud)
不得不打字
polls.apps.PollsConfig
Run Code Online (Sandbox Code Playgroud)
对我来说似乎很奇怪.但我是新人,所以我可能会错过一些东西.欢迎提出任何建议
rod*_*igo 30
这是应用程序配置功能,是Django 1.7的新功能.
基本上,现在您可以列出INSTALLED_APPS包含应用程序的模块或从中派生的类,django.apps.AppConfig并定义应用程序的行为.
此功能提供了几个优点:
应用程序模块可以定义特殊模块变量default_app_config以指定它们的名称AppConfig,以便它们可以使用新功能而无需在其中指定该类的全名INSTALLED_APPS.但这是一个向后兼容功能,建议使用新的应用程序来编写全AppConfig名.
无论如何,大多数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'
Run Code Online (Sandbox Code Playgroud)
因此,根据OP请求添加它:
INSTALLED_APPS了typename foo.apps.FooConfig,那么该类将用于设置foo应用程序1.7样式(推荐).如果添加INSTALLED_APPS普通名称foo,则:
foo.default_app_config这个类将用于设置foo应用程序,1.7风格.大多数(全部?)标准Django应用程序都有这个变量,所以INSTALLED_APPS当你从Django-1.6升级到Django-1.7时你不需要改变你的.小智 6
In the setup.py ,under the Installed apps just add app_name like
INSTALLED_APPS = [
'polls', # <--- here
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23366 次 |
| 最近记录: |