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

部署Django应用至Vercel成功后访问出现404: NOT_FOUND错误求助

Django部署Vercel后出现404: NOT_FOUND的排查方案

常见原因及解决方法

  • Vercel配置文件缺失或错误
    Vercel依赖vercel.json指定入口和路由规则,项目根目录必须包含该文件,示例配置如下:

    {
      "builds": [
        {
          "src": "your_project_name/wsgi.py",
          "use": "@vercel/python",
          "config": { "maxLambdaSize": "15mb", "runtime": "python3.9" }
        }
      ],
      "routes": [
        {
          "src": "/(.*)",
          "dest": "your_project_name/wsgi.py"
        }
      ]
    }
    

    注意将your_project_name替换为实际的Django项目名称。

  • 静态文件未正确收集
    生产环境下Django需要将静态文件统一收集到指定目录:

    1. 在settings.py中配置:
      STATIC_ROOT = os.path.join(BASE_DIR, 'static')
      STATIC_URL = '/static/'
      
    2. 确保构建过程执行了python manage.py collectstatic --noinput,可将该命令加入Vercel的构建脚本(比如package.json的scripts字段)。
  • 项目根目录识别错误
    检查Vercel部署设置中的Root Directory,确认其指向包含manage.py的目录,否则Vercel无法正确识别Django项目结构。

  • WSGI路径配置错误
    核对vercel.json中src字段的路径,必须精准指向WSGI文件。例如项目结构为my_django/my_django/wsgi.py,则路径应为my_django/wsgi.py。

  • 关键环境变量未配置
    在Vercel项目设置中配置SECRET_KEY、DEBUG(生产环境需设为False)等必要环境变量,缺失这些变量会导致应用初始化失败,进而返回404。

额外排查步骤

  • 查看Vercel构建日志,检查是否存在构建错误(如依赖安装失败、collectstatic执行异常),这类问题会导致应用未正确部署。
  • 本地模拟生产环境测试:设置DEBUG=False后运行python manage.py runserver,验证应用是否能正常访问,排除代码路由本身的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 23:40:55