我已将我的应用程序部署到 Heroku,但不再加载某些图像。
例如,人们的个人资料照片没有显示,但如果该人重新上传一张,它将是可见的。但是,当他们再次注销/登录时,图片不再存在。
什么会导致这种行为,我该如何解决?本地一切正常。
Heroku 每次向他们推送时所做的是:
这意味着添加到应用程序中的任何不在 Git 中的内容都不会在两次推送之间持续存在。更重要的是,无论如何,这个完全相同的过程每 24 小时发生一次,所以上传的文件必须放到 Heroku 以外的其他地方。
您可能会将此视为问题的可能来源。
这是来自pythonanywhere博客的答案,它可能会回答您的问题。基本上,在投入生产时,设置(在 settings.py 中)DEBUG = False
会对篡改图像 url 的文件产生安全锁。
所以基本上文件路径更改是为了MEDIA_ROOT
从开发到生产。更多信息请参见此处的博客。
希望这可以帮助!