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

Django教程中命令行导入模型触发ImportError的原因排查

解决Django模型相对导入错误的方案

错误原因

直接在polls目录下启动Python解释器时,当前目录未被识别为Python包体系中的子模块,相对导入语法from .models import ...无法找到对应的父包上下文,因此抛出ImportError。

可行解决方案

方法1:使用Django官方推荐的shell(最简便)

回到项目根目录(包含manage.py的目录),执行以下命令启动Django专属shell:

python manage.py shell

进入shell后,即可正常执行导入:

from polls.models import Question
# 或者使用相对导入(此时polls已被识别为app包)
from .models import Question

方法2:手动添加项目路径到Python环境

如果坚持在polls目录下启动Python,先将项目根目录加入sys.path,再使用绝对导入:

import sys
# 假设项目根目录是polls的上级目录,根据实际路径调整
sys.path.append('../')
from polls.models import Question

方法3:从项目根目录启动Python

直接在项目根目录执行python,然后用绝对导入:

from polls.models import Question

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 14:01:26