我已经使用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
答案 0 :(得分:3)
你不能在Heroku上使用sqlite。
sqlite db作为文件存储在本地文件系统中。但是在Heroku中,文件系统是短暂的,并且不会在dynos之间共享。每次重新部署应用程序或扩展流程时,或者在您的情况下启动工作程序,您都会获得一个新文件系统,其中包含不同数据库文件的副本。
通过附加组件使用正确的Postgres支持。