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

使用heroku/python buildpack部署Django到Heroku提示不兼容求助

问题根因

Heroku官方Python构建包会优先检测项目根目录是否存在Python项目的标识文件(包括requirements.txt、Pipfile、pyproject.toml任意一种),你当前项目的所有Django相关文件都存放在Meme_Site子目录下,根目录缺少构建包需要的检测文件,因此触发不兼容报错。

解决步骤
  • 调整项目目录结构:把Meme_Site子目录下的所有内容(包括manage.py、同名项目配置文件夹、静态文件目录、模板目录等)全部移动到仓库根目录,删除空的Meme_Site子目录,该方案对初学者更友好,可避免后续出现路径配置错误。
  • 校验依赖文件:
    • 确保根目录存在requirements.txt,内容需包含所有项目依赖,必须添加gunicorn(Heroku运行Django所需的生产Web服务器)、whitenoise(静态文件托管)、dj-database-url(生产数据库配置)这几个Heroku部署必要依赖
    • 如果你使用Pipenv或者Poetry做依赖管理,保证对应的Pipfile/pyproject.toml放在根目录即可
  • 新增Heroku专属配置文件:
    • 根目录新建无后缀的Procfile,内容填写:web: gunicorn Meme_Site.wsgi --log-file -
    • 根目录新建runtime.txt,指定Heroku-20堆栈支持的Python版本,示例内容:python-3.10.12
  • 修改Django配置适配生产环境:
    • 打开项目配置文件夹下的settings.py,将你的Heroku应用域名添加到ALLOWED_HOSTS列表
    • 配置静态文件参数:添加STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
    • 引入whitenoise中间件处理静态资源请求
    • 用dj-database-url替换默认的SQLite3数据库配置,适配Heroku的PostgreSQL数据库
  • 所有修改提交到Git后,重新执行推送到Heroku的操作即可正常触发构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:18:03