django - 将 App 移动到嵌套文件夹后出现 ImportError

标签 django

当我想看看我是否可以以更好的方式组织我的项目时,我的应用程序运行良好。我通读了本教程 on structuring a django project .

之前我的项目结构如下:

  • 卡姆卡姆
    • 书籍
      • admin.py
      • 模型.py
      • views.py
      • __初始化__.py
    • 静态
    • 模板
    • urls.py
    • views.py
    • 设置.py
    • wsgi.py
    • __初始化__.py

我想做的是将图书应用程序移动到应用程序文件夹中。因此我这样做并将项目结构更改为以下内容:

  • 卡姆卡姆
    • 应用程序
      • 书籍
        • admin.py
        • 模型.py
        • views.py
        • __初始化__.py
    • 静态
    • 模板
    • urls.py
    • views.py
    • 设置.py
    • wsgi.py
    • __初始化__.py

然后我更改了 views.py 和 admin.py 中的导入 从 books.models 到 apps.books.models。 我还将 settings.py 中的 INSTALLED_APPS 从 books 更改为 apps.books。

当我尝试运行 syncdb 时,出现以下错误:

raise ImproperlyConfigured('ImportError %s: %s' % (app, e.args[0]))
django.core.exceptions.ImproperlyConfigured: ImportError apps.books: No module named apps.books

我在这里搞砸了什么,以至于它再也找不到我的应用程序了?

最佳答案

您的应用程序文件夹没有__init__.py 文件,因此无法将其识别为python 模块

关于django - 将 App 移动到嵌套文件夹后出现 ImportError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14191944/

相关文章:

python - 从 MYSQL 读取模型时出现 DjangoUnicodeDecodeError

python - Django url 是如何匹配的?

python - 如何通过 Django ORM 排除查询中的两个条件?

javascript - 如何使用 javascript 而不是 Django session 将表单数据(Django 表单)存储到浏览器的本地存储?

python - DateTime 对象没有——Python

django - 为什么 django-pipeline 的 {%compressed_js ... %} 标签会分别输出每个脚本?

Django 重定向状态代码错误

python - TypeError : expected str, 字节或 os.PathLike 对象,而不是 ImageFieldFile

python - 安全优化文件权限django+apache+mod_wsgi

python - Django 分组和计数