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

部署Django应用到Vercel报错:wsgi.py缺少handler或app变量

Django部署Vercel报错:Missing variable handler or app in wsgi.py的解决方法

问题核心原因

Vercel的Python运行时要求WSGI入口文件必须明确暴露handler或app变量,而默认的Django wsgi.py仅导出了application,因此触发该报错。

具体解决步骤

  • 修改wsgi.py文件
    打开qr_project/wsgi.py,在末尾添加handler = application,让Vercel能识别到指定的WSGI handler。完整示例代码:

    import os
    from django.core.wsgi import get_wsgi_application
    
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'qr_project.settings')
    
    application = get_wsgi_application()
    handler = application  # 新增这行,供Vercel识别
    
  • 配置vercel.json
    如果项目根目录没有vercel.json,新建一个,指定WSGI入口和路由规则:

    {
      "builds": [
        {
          "src": "qr_project/wsgi.py",
          "use": "@vercel/python"
        }
      ],
      "routes": [
        {
          "src": "/(.*)",
          "dest": "qr_project/wsgi.py"
        }
      ]
    }
    
  • 检查依赖与Python版本

    • 确保requirements.txt包含Django及项目所需所有依赖,示例:
      Django>=4.2,<5.0
      
    • 可选:在项目根目录创建runtime.txt,指定和本地一致的Python版本,避免兼容问题,示例:
      python-3.10
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 03:15:32