Django 1.9 找不到 newapp
Django 1.9 can not find newapp
我使用过 django 1.7,最近开始使用 django 1.9 的新项目。启动新应用程序的主要区别在于新应用程序是使用 apps.py 文件创建的。我在 django docs 上读到现在你必须使用
INSTALLED_APPS = [
'newapp.apps.NewAppConfig',
...
]
(旧的只是 'newapp'
)
在我的新项目中,我将所有应用程序都放在一个名为 'myapps' 的新目录中。
但是如果我使用
'myapps.newapp.apps.NewAppConfig'
比 django 给出错误 ImportError: No module named newapp
但如果我使用旧方法,即
INSTALLED_APPS = [
'myapps.newapp',
...
]
它完美无误地工作,但可能无法应用 apps.py 文件中的配置(我不知道它是如何工作的)。
那么当你将所有新应用程序放在另一个目录(如 "myapps" 和 apps.py 配置文件也有效时,将 newapp 放入 django 1.9 的 INSTALLED_APPS 设置中的正确方法?
如果您的应用位于 "myapps" 目录中,您仍需要将其包含在路径中:"myapps.newapp.apps.NewAppConfig"
.
如果您的应用程序目录在 myapps
目录中,请检查以下内容:
您的 myapps
目录应该有一个 __init__.py
在 INSTALLED_APPS
中包含应用程序时在路径中包含 myapps
,即 'myapps.newapp.apps.NewAppConfig',
在应用程序配置的 name
属性中包含 myapps
:
class NewAppConfig(AppConfig):
name = 'myapps.newapp'
我使用过 django 1.7,最近开始使用 django 1.9 的新项目。启动新应用程序的主要区别在于新应用程序是使用 apps.py 文件创建的。我在 django docs 上读到现在你必须使用
INSTALLED_APPS = [
'newapp.apps.NewAppConfig',
...
]
(旧的只是 'newapp'
)
在我的新项目中,我将所有应用程序都放在一个名为 'myapps' 的新目录中。
但是如果我使用
'myapps.newapp.apps.NewAppConfig'
比 django 给出错误 ImportError: No module named newapp
但如果我使用旧方法,即
INSTALLED_APPS = [
'myapps.newapp',
...
]
它完美无误地工作,但可能无法应用 apps.py 文件中的配置(我不知道它是如何工作的)。
那么当你将所有新应用程序放在另一个目录(如 "myapps" 和 apps.py 配置文件也有效时,将 newapp 放入 django 1.9 的 INSTALLED_APPS 设置中的正确方法?
如果您的应用位于 "myapps" 目录中,您仍需要将其包含在路径中:"myapps.newapp.apps.NewAppConfig"
.
如果您的应用程序目录在 myapps
目录中,请检查以下内容:
您的
myapps
目录应该有一个__init__.py
在
INSTALLED_APPS
中包含应用程序时在路径中包含myapps
,即'myapps.newapp.apps.NewAppConfig',
在应用程序配置的
name
属性中包含myapps
:class NewAppConfig(AppConfig): name = 'myapps.newapp'