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
相关产品推荐
相关产品推荐

