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

Django部署到PythonAnywhere时出现WSGI运行错误NameError如何解决

Django部署PythonAnywhere触发WSGI的NameError解决方法

核心问题定位

报错指向的是PythonAnywhere平台自动生成的系统级WSGI配置文件/var/www/dhruv354_pythonanywhere_com_wsgi.py,你贴出的是项目目录内自行编写的wsgi.py,二者不是同一个文件。平台配置文件的第30行调用get_wsgi_application()之前没有导入对应函数,因此触发未定义错误。

修复操作

方案1:修改平台生成的WSGI配置文件

  1. 登录PythonAnywhere后台,进入「Web」选项卡,找到「Code」板块下的「WSGI configuration file」入口,点击进入编辑
  2. 保留文件原有虚拟环境激活相关代码,替换原有Django加载逻辑为如下内容:
import os
import sys
path = '/home/dhruv354/Django-grocery/'
if path not in sys.path:
    sys.path.append(path)

os.environ['DJANGO_SETTINGS_MODULE'] = 'ReadingRight.settings'

from django.core.wsgi import get_wsgi_application
from whitenoise.django import DjangoWhiteNoise
application = DjangoWhiteNoise(get_wsgi_application())
  1. 保存文件后,回到Web选项卡点击「Reload」按钮重启应用即可。

方案2:直接导入项目内的WSGI实例

如果不想重复维护两份WSGI配置,可以在平台的WSGI配置文件中直接导入你项目内的实例,代码如下:

import sys
path = '/home/dhruv354/Django-grocery/'
if path not in sys.path:
    sys.path.append(path)

# 替换your_project_name为你的Django项目根目录名称
from your_project_name.wsgi import application

额外排查项

如果修改后仍存在报错,按顺序检查以下内容:

  • 填写的项目根目录路径大小写、拼写和实际文件系统完全一致
  • 应用绑定的虚拟环境已经安装Django、whitenoise等全部项目依赖
  • ReadingRight.settings路径正确,对应你项目内settings文件的实际位置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 05:24:01