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

已安装Django却提示No module named 'django'的解决求助

在外部脚本中使用Django模型的报错解决

问题背景

尝试在独立Python脚本script.py中调用Django模型,脚本代码、文件夹结构及运行报错如下:

脚本代码

from os import environ
environ['DJANGO_SETTINGS_MODULE'] = 'settings'

import sys

sys.path.append("C:/.../djangoproject/djangoproject")
from settings import *

sys.path.append("C:/.../djangoproject/myapp")

from models import video

vid = video(video_title='a title')
vid.save()

文件夹结构

djangoproject
├── script.py
├── djangoproject/
│   ├── settings.py
│   └── 其他配置文件
└── myapp/
    ├── models.py
    └── 其他应用文件

报错信息

Traceback (most recent call last):
  File "C:\...\djangoproject\script.py", line 11, in <module>
    from models import video
  File "C:\...\djangoproject/myapp\models.py", line 1, in <module>
    from django.db import models
ModuleNotFoundError: No module named 'django'

补充说明:已安装Django,仅使用Python 3,未使用虚拟环境。

解决方法

1. 确认Python环境与Django安装状态

  • 打开命令行,执行python --version,确认当前运行脚本的Python版本,和安装Django时使用的版本一致。
  • 执行pip list,查看输出列表中是否有Django。如果没有,执行pip3 install django(确保用pip3匹配Python 3环境)。

2. 正确初始化Django环境

你的脚本缺少Django框架的初始化步骤,导致无法加载Django模块。修改脚本如下:

import os
import sys

# 添加项目根目录到Python搜索路径
sys.path.append("C:/.../djangoproject")
# 设置Django配置模块(注意是项目名.配置文件名)
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'djangoproject.settings')

# 初始化Django
import django
django.setup()

# 按Django规范导入模型
from myapp.models import Video

# 创建并保存模型实例
vid = Video(video_title='a title')
vid.save()

3. 修正导入逻辑与命名规范

  • 不要单独将myapp添加到sys.path,而是添加项目根目录,这样可以通过myapp.models的方式正确导入模型,符合Django的包结构要求。
  • 遵循Django命名规范,模型类名使用大驼峰格式(如Video而非video),避免命名冲突。

内容的提问来源于stack exchange,提问作者El Mehdi Daoudi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 22:33:26