django - Django 尝试提供不存在的缓存图像
问题描述
我正在运行 django 1.7.1
我正在尝试渲染一个.html
使用一些缓存图像的页面。
这也是Image
这些图像所属的模型:
image_pbox = models.ImageField(
upload_to='pbox', blank=True, max_length=255, storage=STORAGE, null=True)
image_pbox_300 = ImageSpecField(
[ResizeToFit(300, 300)],
source='image_pbox', format='JPEG', options={'quality': 90},
cachefile_storage=STORAGE)
在网页上,我可以使用 pagintaion 选择Image
要返回的不同实例集,最终它们使用以下方式呈现:
{{image.image_pbox_300.url}}
现在,最初这一切都很好。然后,我的服务器出现电源问题,这些缓存图像所在的驱动器暂时断开了连接。现在,我可以使用我的网页来渲染一些缓存的图像——我假设那些之前没有缓存过的图像,但这是一个猜测。其他图像 - 我确定之前已缓存的图像 - 返回权限错误。请记住,这只是同一模型的不同实例。例如,前几张图像返回错误,后面的则不会。
权限错误:
OSError at /make_data_request/
[Errno 13] Permission denied: '/data/gallery/config/media/CACHE/images/pbox/MVSrCYHsteI6D0ocQfiLwwy'
权限错误似乎很简单。一定是有 ..permissions 的东西,对吧?与权限相关的所有内容似乎都已正确配置 - 请记住,选择图像确实有效。位于其中的每个图像都/data/gallery/config/media/CACHE/images/pbox/
具有相同的权限。
但是,我注意到,引发错误的特定图像甚至不存在..(ls -la | grep MVS
在目录中返回空)。
我现在该怎么办?
我试图简单地运行cache.clear()
,但没有做任何事情。
解决方案
推荐阅读
- python - 将小数/浮点数舍入为整数时,在 python 中使用 round、floor 或 ceil 有什么区别?
- c - 使用 getchar() 读取两个字符串然后在 C 中打印这些字符串时出现问题
- windows - 如何在 Windows 窗体中使用默认 CSV 编辑器打开文件?
- pdf - JAVA去除PDF数字签名
- python - 尝试除了块python改变结果
- javascript - Material-UI 数据网格仅呈现 101 行
- python - 带有自我参数的装饰器的单元测试
- python - python2和python3 multiprocessing.process问题
- haskell - 在haskell中解析arg =“value”之类的args的更好方法是什么?
- pip - 无法使用 ansible pip 模块删除 docker-py