Django中views.py无法导入requests模块问题求助
Django views.py导入requests报ModuleNotFoundError的解决方法
问题场景
在Django项目的views.py中导入requests时出现ModuleNotFoundError: No module named 'requests',但已经通过pip安装了requests,且在Django Shell中导入requests完全正常。
核心原因
Django运行时使用的Python环境,和你安装requests的环境不是同一个,导致项目运行时找不到已安装的包。
排查和解决步骤
步骤1:确认Django使用的Python环境
在views.py开头添加代码,打印当前Python解释器的路径:from django.shortcuts import render import sys print("当前Python路径:", sys.executable) # 其他导入代码...运行Django服务器,查看控制台输出的路径(比如
C:\Users\Fakhr\Desktop\trydjango\venv\Scripts\python.exe)。再打开Django Shell,输入以下代码对比路径:
import sys print(sys.executable)如果两个路径不一致,说明问题确实出在环境不匹配。
步骤2:给Django使用的环境安装requests
找到步骤1中Django使用的Python路径,用对应的pip安装requests:# 替换成你自己的Python路径 C:\Users\Fakhr\Desktop\trydjango\venv\Scripts\pip.exe install requests如果你用了虚拟环境,也可以先激活环境再安装:
C:\Users\Fakhr\Desktop\trydjango\venv\Scripts\activate pip install requests步骤3:检查IDE的解释器配置(可选)
如果你用PyCharm/VSCode等IDE,要确保IDE选择的解释器是Django使用的那个环境:- PyCharm:
File > Settings > Project: trydjango > Python Interpreter,确认列表里有requests包 - VSCode:按
Ctrl+Shift+P,输入Python: Select Interpreter,选择对应的虚拟环境
- PyCharm:
步骤4:验证解决
重启Django服务器,再次访问页面,报错应该消失。
新手友情提示
你的代码里有两个小细节可以优化,虽然不影响当前报错,但能避免后续问题:
HttpResponse的导入被注释了,但后面代码里实际用到了它,需要取消注释:from django.http import HttpResponsehome_view函数里有两个return语句,第一个return HttpResponse(...)会直接返回,后面的return render(...)永远不会执行,根据你的需求保留一个即可。
内容的提问来源于stack exchange,提问作者Fakhr Ali
相关产品推荐
相关产品推荐

