数据库更改时,Heroku 部署的 Django 网页不会更新

Posted

技术标签:

【中文标题】数据库更改时,Heroku 部署的 Django 网页不会更新【英文标题】:Heroku-deployed Django webpage doesn't update when DB changes 【发布时间】:2017-09-08 19:19:34 【问题描述】:

我已经使用 Django 在 Heroku 中部署了一个应用程序。 Django 程序使用根目录上的 SQLite 数据库 db.sqlite3 来填充其页面。另外,还有一个 Node.js 刮板程序可以插入到该数据库中。

问题是即使在数据库内容更改后,硬刷新的网页仍显示相同的数据。奇怪的是,在使用python manage.py runserver 进行本地测试时不会发生这种情况。我该如何解决这个问题?

提前谢谢你!


作为参考,这里是我的 requirements.txt 文件:

Django==1.10.6  
gunicorn==19.7.1
Pillow==4.0.0
selenium==3.3.1
whitenoise==3.3.0

【问题讨论】:

【参考方案1】:

不能在 Heroku 上使用 sqlite。

一个 sqlite 数据库作为文件存储在本地文件系统上。但是在 Heroku 中,文件系统是短暂的,并且不在 dynos 之间共享。每次您重新部署您的应用程序,或扩展您的流程,或者在您的情况下启动一个工作器时,您都会获得一个带有 不同 db 文件副本的新文件系统。

通过插件使用适当的 Postgres 支持。

【讨论】:

感谢您的快速回答。我确实在多个 Heroku 文档中阅读了有关由于临时文件系统而使 sqlite 令人沮丧的信息,但我认为这不是问题的原因。我会尝试使用 Heorku Postgres 插件!

以上是关于数据库更改时,Heroku 部署的 Django 网页不会更新的主要内容,如果未能解决你的问题,请参考以下文章

Heroku 数据库 [重复]

将预先存在的 django git repo 部署到 heroku

在 Heroku 上部署时出现 Django 1.7 迁移错误

在heroku上部署django网站时出错

Heroku:Django Migration 版本未在部署中运行

Heroku/Django 部署:为啥我在成功部署和静态收集时收到错误 500?