遵循教程仍部署失败:Django应用在Vercel出现500错误
解决Django部署Vercel出现Runtime.Unknown及500错误的方案
- 强制匹配Python版本
Vercel默认的Python版本可能和你本地开发环境不一致,直接导致依赖安装或运行失败。在项目根目录创建vercel.json文件,指定和本地一致的Python版本:
{ "functions": { "api/**/*.py": { "runtime": "@vercel/python@3.10" } } }
版本号根据你本地实际使用的Python版本调整(比如3.9、3.11)。
- 确保依赖清单完整且安装正确
别依赖Vercel的自动检测,手动生成完整的requirements.txt:
pip freeze > requirements.txt
然后在Vercel项目的Settings > General > Build & Development Settings里,把Install Command设置为pip install -r requirements.txt --upgrade,确保所有依赖都被正确安装。
- 验证WSGI入口文件配置
检查api/index.py(或教程中指定的入口文件)的路径和模块是否正确,必须指向你的Django项目的WSGI模块:
import os import sys from django.core.wsgi import get_wsgi_application # 确保项目根目录被加入Python路径 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) # 替换为你的项目名称 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_project.settings') application = get_wsgi_application()
路径错误或模块名称写错是导致Runtime崩溃的常见原因。
临时开启调试模式定位具体错误
在settings.py中临时设置DEBUG = True,重新部署后访问页面,会显示详细的错误栈信息(生产环境记得改回False),能直接排查是依赖缺失、数据库配置问题还是其他代码错误。检查环境变量是否配置完整
如果你的Django项目用到了SECRET_KEY、数据库连接等环境变量,必须在Vercel项目的Settings > Environment Variables中添加对应变量,缺失关键变量会直接导致服务启动失败。
内容的提问来源于stack exchange,提问作者Scooter Girl
相关产品推荐
相关产品推荐

