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

Django项目使用Waitress启动提示页面无法工作,runserver运行正常如何解决

Waitress启动Django项目返回ERR_EMPTY_RESPONSE排查方案
  • 检查ALLOWED_HOSTS配置
    Django在python manage.py runserver调试模式下会自动将localhost、127.0.0.1加入允许域名列表,但Waitress作为生产级服务器不会触发该逻辑。打开项目settings.py,确认ALLOWED_HOSTS配置包含本地访问地址,测试阶段可临时设置为ALLOWED_HOSTS = ['*']验证是否为该问题导致。
  • 验证WSGI模块路径正确性
    执行waitress-serve命令的工作目录必须为Django项目根目录(即manage.py所在目录),否则会出现WSGI模块导入失败的问题。可在当前执行命令的目录下打开Python终端,执行import mysite.wsgi确认无导入报错,若报错需调整工作目录或修正WSGI路径参数。
  • 更换访问地址与端口测试
    优先使用IPv4地址http://127.0.0.1:8000访问,部分本地环境未开启IPv6支持,直接点击日志中的http://[::]:8000链接会访问失败。同时可更换监听端口排除端口占用、防火墙拦截问题,修改启动命令为:
    waitress-serve --listen=*:8080 mysite.wsgi:application
    随后访问http://127.0.0.1:8080验证是否正常。
  • 开启调试日志定位具体错误
    启动时增加日志级别参数输出详细报错信息,命令如下:
    waitress-serve --log-level=DEBUG --listen=*:8000 mysite.wsgi:application
    访问页面后查看控制台输出的异常栈:若返回400状态码则确定为ALLOWED_HOSTS配置问题,若返回500状态码则对应项目代码/配置的导入错误,可根据异常信息针对性修正。
  • 校验项目启动逻辑兼容性
    部分项目会编写仅在runserver模式下触发的初始化逻辑,例如依赖DEBUG参数、runserver专属环境变量的中间件/配置加载逻辑。可在mysite/wsgi.py中增加异常捕获打印,确认请求进入WSGI层后是否抛出未处理异常导致空响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 03:18:00