You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django视图无法导入其他目录模块,请求解决方案

问题解决步骤

首先明确几个关键错误点,再给出对应解决方案:

1. 修正包识别的核心问题

你的Object_refresh目录下的初始化文件名写错了:

错误文件名:__init.py__
正确文件名:__init__.py

Python只有识别到目录下存在__init__.py时,才会将该目录视为可导入的包,这是导致模块无法正确识别的首要原因。

2. 统一路径大小写

你的目录名是Object_refresh(首字母大写),但代码中使用的是object_refresh(全小写)。在Linux/macOS环境下Python对路径大小写敏感,必须保证导入路径和实际目录名完全一致。

3. 正确导入并调用refresh函数

提供两种可行方案:

方案一:直接导入目标函数

在App1/Views.py中修改导入语句:

from core_project.python_code.Object_refresh.refresh import refresh

# 调用时直接使用函数名
newfeature = asyncio.run(refresh(rows_to_refresh, schema, 'tbl_name'))
print(newfeature)

方案二:通过__init__.py导出函数

在Object_refresh/__init__.py中添加以下内容,将refresh函数导出为包的属性:

from .refresh import refresh

然后在Views.py中导入:

from core_project.python_code.Object_refresh import refresh

# 调用方式和方案一一致
newfeature = asyncio.run(refresh(rows_to_refresh, schema, 'tbl_name'))
print(newfeature)

4. 解决内部模块引用问题

如果refresh.py需要引用同目录下的config.py,在refresh.py中使用相对导入即可:

from .config import 你的配置变量或类

内容的提问来源于stack exchange,提问作者charlopa24

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 09:00:55