当DB更改时,Heroku部署的Django网页不会更新

时间:2017-04-12 20:36:48

标签: python node.js django heroku sqlite

我已经使用Django在Heroku中部署了一个应用程序。 Django程序使用根目录上的SQLite数据库<s:decorate id="cntlPrsnBthDtField" template="/layout/edit.xhtml"> <ui:define name="label">Birth Date</ui:define> <rich:calendar id="cntlPrsnBthDt" value="#{_p18CntlPrsn.bthDt}" datePattern="dd-MMM-yyyy" enableManualInput="true" maxlength="11" > <a:support event="oninputchange" action="#{P18SlipHome.onDateChangeValidation}" reRender="cntlPrsnBthDtField" ajaxSingle="true"/> <a:support event="onchanged" action="#{P18SlipHome.onDateChangeValidation}" reRender="cntlPrsnBthDtPanelGrid" ajaxSingle="true"/> </rich:calendar><br/>Date format must be dd-Mmm-yyyy </s:decorate> 来填充其页面。另外,还有一个插入该数据库的Node.js scraper程序。

问题是,即使数据库内容发生变化,硬刷新的网页也会显示相同的数据。奇怪的是,当使用db.sqlite3进行本地测试时,不会发生这种情况。我该如何解决这个问题?

提前谢谢!

供参考,这是我的requirements.txt文件:

python manage.py runserver

1 个答案:

答案 0 :(得分:3)

不能在Heroku上使用sqlite。

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

通过附加组件使用正确的Postgres支持。