我使用ImageField
在 django-admin 中将图片加载到我的服务器端。
我的服务器已部署到 Heroku 。
我浏览.png图像并搜索他的路径,我收到了它。 几分钟后,服务器无法检索图像。
在服务器日志中,我得到状态200或301,在这两种情况下我都没有得到图像。
任何人都有任何想法帮我找到解决这种情况的方法吗?
修改
我发现它是在读取图像文件后因IOError
而发生的。
它总共发生了两个文件,总共三个(第三个是.png并且显示正常,他的大小稍微小一点)我认为这意味着,它不会一直发生并且路径没有问题,因为它的。
编辑2:
我认为我解决它的方式没有奏效。 还有其他想法吗?
答案 0 :(得分:0)
正如Fian在评论中提到的那样:
路径出现问题的可能性很大。请 从模型中添加MEDIA_URL,MEDIA_ROOT,ImageField代码 您的服务器传递给浏览器的序列化程序和image-url。
我认为问题是,Heroku自动收集到我的staticfiles目录。
当我上传图片时,我没有MEDIA_ROOT和MEDIA_URL设置。 因此,我上传的每张图片都保存在BASE_ROOT临时图片中,我可以访问他。
有一段时间Heroku将我的文件收集到我的静态目录中,因此我丢失了与这些文件的连接。我在我的BASE_DIR中搜索这些文件,它们已被移动到staticfiles目录。