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

如何在Heroku上取消部署Django应用并完成重新部署?

首先需要明确:单纯取消当前部署再重新部署无法从根源解决内容丢失问题。Heroku的dyno实例采用临时文件系统,每次实例重启、重新部署、休眠唤醒时都会重置所有运行阶段写入的非内置静态文件,你提到的新增站点内容丢失是该平台的固有特性,仅重新部署不会改变这个机制。

取消现有Heroku部署的操作步骤
  • 登录Heroku账户进入对应应用的管理面板
  • 若仅需回滚到历史部署版本:切换到「Deploy」标签页,下拉找到「Activity」板块,选中需要恢复的历史版本,点击Roll back to here即可取消当前最新部署,回退到对应历史版本
  • 若需要完全移除当前部署的应用:切换到「Settings」标签页,下拉到页面最底部的「Delete app」选项,点击后按提示输入应用名称确认即可彻底取消部署
重新部署Django应用到Heroku的操作步骤
  • 本地预先完成Django项目的Heroku适配:确保根目录存在Procfile启动配置文件、requirements.txt依赖清单、已安装django-heroku依赖并完成配置、ALLOWED_HOSTS参数已添加Heroku应用域名
  • 本地终端进入项目根目录,执行heroku login按提示完成账户登录
  • 若之前已删除原有应用,执行heroku create 自定义应用名创建新的Heroku应用实例
  • 依次执行以下命令提交代码并触发部署:
    git add .
    git commit -m "redeploy django project"
    git push heroku main
    
    注意如果你的本地Git主分支名为master,需要将最后一条命令中的main替换为master
  • 部署完成后执行heroku run python manage.py migrate完成数据库迁移,如有需要可执行heroku run python manage.py createsuperuser重建管理员账户
内容丢失问题的根因修复方案

所有运行时生成的动态内容不能存储在Heroku实例本地,需要替换为持久化存储方案:

  • 结构化动态数据:使用Heroku官方提供的PostgreSQL附加组件存储,不要使用默认的本地SQLite数据库,SQLite文件会在每次部署后被重置
  • 媒体文件/用户上传资源:对接第三方对象存储服务,修改Django的DEFAULT_FILE_STORAGE配置项指向第三方存储后端,所有用户上传的内容直接写入第三方存储,不会随Heroku实例重置丢失

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 10:36:04