无法从 django 应用程序父目录中的子目录导入模块

问题描述 投票:0回答:3

Django 似乎无法从子目录导入模块。

我有这样的文件结构:

->project_folder

---->app_folder

------>子目录

当我将脚本存储在 app_folder 中时,我可以导入它,因此命令“from project_folder.app_folder.module import *”有效,但是当我执行“from project_folder.app_folder.subdir.module import”时,我收到模块未找到错误*'

我该如何解决这个问题?我只是想让我的文件井井有条

python django
3个回答
9
投票

你的子目录中有

__init__.py
吗? Python 需要这个文件来将目录视为包。


0
投票

将导入放入应用程序的初始化文件(而不是子目录)中。 我有这个结构和 init.py 文件中的以下导入 应用程序/views_dir/group_views.py 以下行是我的初始化文件中唯一的代码行

从views_dir.group_views导入测试


0
投票

我知道这已经很老了,但我最近遇到了这个问题,你需要解决的只是三件事:

  1. 在你的settings.py中,添加到INSTALLED_APPS定义数组中, 'project_folder.app_folder.subdir'
  2. 确保“subdir”中有一个 init.py
  3. 在project_folder / app_folder / subdir中查找apps.py文件,然后将'name'变量值更改为'project_folder.app_folder.subdir'

希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.