Django中如何从其他应用的views.py文件导入指定函数
Django跨APP导入函数失败解决方案
出现该导入错误可按以下顺序排查解决:
- 检查
shopAPP是否已注册
打开项目全局settings.py文件,确认INSTALLED_APPS列表中已添加shop(若项目根目录在ksy外层则需填写ksy.shop),未注册的APP Django无法识别其内部模块。 - 检查是否存在循环导入
若shop/views.py中同时存在导入over_time模块的代码,二者相互导入会触发该错误。
更推荐的优化方案:将公共业务函数从views中抽离,在shop目录下新建utils.py文件,把check_consumed_hour函数移动到该文件中,后续两个APP需要使用该函数时统一从shop.utils导入即可,既避免循环导入问题,也符合Django的代码分层规范。 - 调整导入路径写法
若你的项目根目录是ksy的上级目录,需使用完整绝对路径导入:
也可在from ksy.shop.views import check_consumed_hourover_time/views.py中使用相对导入:from ..shop.views import check_consumed_hour - 清除缓存重试
删除项目中所有__pycache__缓存目录,重启Django运行服务后重新测试。
内容的提问来源于stack exchange,提问作者Md Monir
相关产品推荐
相关产品推荐

