我一直在玩Django的sorl-thumbnail。并试图了解它如何更好地工作。

我已经阅读了它的指南,将其安装在我的站点软件包中,确保正确安装了PIL,将sorl.thumbnail放入 settings.py的INSTALLED APPS中,将from sorl.thumbnail.fields import ImageWithThumbnailsField放入 models.py顶部的顶部。将image = ImageWithThumbnailsField(upload to="images/", thumbnail={'size':(80, 80)})添加为我的模型字段之一,将模型通过我的 View 传递到模板,并在模板中顶部添加{% load thumbnail %}并在其中也添加了变量{{ mymodel.image.thumbnail_tag }}

但是据我了解,当我通过管理员上传图像时,会立即创建缩略图,但实际上只有在浏览器中看到模板时才创建缩略图吗?这样对吗?缩略图显示得很好,实际上看起来不错,但是我认为添加模型字段部分将在图像上传后立即创建缩略图吗? ...为什么不只在模型中使用models.ImageField

...或者我已经做完了所有的工作,我就知道它的工作方式不对吗?

最佳答案

我是唯一的缩略图开发人员之一。

首先,除非您只是使用thumbnail标签而不是thumbnail字段,否则不需要{% load thumbnail %}

目前,缩略图仅是在首次使用时创建的-即使您使用该字段[如果没有其他人先做,我也会设法改变这一天]。该字段的优点是您可以指定大小,而不是在模板级别上给设计者自由度[并使管理员缩略图更容易]。

两种方法都有效,您必须确定最适合您的方法。

关于python - 试图了解Django的soul-thumbnail,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1171680/

10-12 21:46