重置 Django 站点的 sorl 缩略图

Joh*_*dt6 8 python django caching sorl-thumbnail

我们从开发服务器切换到生产服务器,但尝试对 sorl 缩略图使用相同的缓存。在我们试图解决问题的过程中,我们几乎弄乱了缓存,删除了所有缓存的图像。

Sorl 认为它找到了一个缩略图,但没有缩略图存在,所以显示错误图像。尝试从其 URL 直接访问缩略图会导致 404。

我想做的是重置 sorl,就像我第一次开始使用它一样。我曾试图运行python manage.py thumbnail cleanuppython manage.py thumbnail clear,但仍SORL会返回一个网址,如“ http://www.whatever.com/media/cache/84/0f/840fa03745a82238b980f4ceb188b110.jpg ”,其中没有图像存在。

我认为 sorl 的目的是寻找缩略图,如果一个缩略图不存在,它会创建一个。

我什至尝试thumbnail_kvstore从我的数据库中删除该表,但它没有任何改变。我尝试将THUMBNAIL_KVSTORE设置更改为 Redis,但它也没有任何改变。Sorl 仍然不断返回不存在的缩略图。

我可以创建新的缩略图,然后这些缩略图可以正常工作。

如何在我的 Django 项目中完全重置 sorl,以便当它通过我的网站时,它会再次生成缩略图?

感谢您的帮助

编辑:我对它进行了更多研究,我认为问题可能与在生产环境中创建缩略图有关。在我的开发服务器上,我运行thumbnail clear,然后站点重新加载缩略图。我的生产服务器使用 ngin-x 和 uWSGI 运行,并且 DEBUG 已关闭。

后期编辑:我的问题是权限问题。生产服务器无权写入包含缓存的驱动器,而开发服务器有。

小智 2

同样的事情也发生在我身上,我所做的是更改图像的大小,以便它可以再次重新加载它们:

{% thumbnail image.original "x301" as thumb %}
Run Code Online (Sandbox Code Playgroud)

  • 这不是正确的答案,这是冈比亚拉。你可以更新,但是每次更新他都得改变裁剪尺寸吗? (2认同)