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 目录中,请检查以下内容:

  1. 您的 myapps 目录应该有一个 __init__.py

  2. INSTALLED_APPS 中包含应用程序时在路径中包含 myapps,即 'myapps.newapp.apps.NewAppConfig',

  3. 在应用程序配置的 name 属性中包含 myapps

    class NewAppConfig(AppConfig):
        name = 'myapps.newapp'