【发布时间】:2017-01-01 01:39:48
【问题描述】:
我有一个照片模型,有两个图像字段。一个用于原始图像,另一个用于原始图像的调整大小版本。
class Photo(models.Model):
user = models.ForeignKey(User)
image_original = models.ImageField(
upload_to=get_upload_file_name,
width_field="image_original_width",
height_field="image_original_height",
blank=True
)
image_original_width = models.IntegerField(default=0)
image_original_height = models.IntegerField(default=0)
image_470 = models.ImageField(
upload_to=get_upload_file_name,
width_field="image_470_width",
height_field="image_470_height",
blank=True
)
image_470_width = models.IntegerField(default=0)
image_470_height = models.IntegerField(default=0)
我选择 django-channles 的原因是因为我已经将它用于 websocket 目的,并且在文档中他们说 "... 而且,除此之外,还有很多非关键任务可以应用在发送响应之前可以轻松卸载 - 例如将内容保存到缓存中或缩略图新上传的图像。”。
如何使用 django-channels 调整图像大小,使其宽度为 470 像素,并使用 sorl-thumbnail 或 django-imagekit 自动调整高度> 还是以其他方式?
【问题讨论】:
-
我看不出通道与调整图像大小有什么关系。您能否详细说明为什么要使用 django-channels 来执行此任务,这是什么意思?另外,你对 sorl-thumbnail 死心了吗?为同一图像的不同版本设置单独的模型字段的模型似乎更符合 django-imagekit 的要求。
-
@LudwikTrammer django-imagekit 看起来很有希望。谢谢你。我肯定会试一试。我选择 django-channles 的原因是因为我已经将它用于 websocket 目的,并且在文档中他们说“而且,除此之外,应用程序可以轻松卸载许多非关键任务,直到响应之后已发送 - 例如将内容保存到缓存中或缩略图新上传的图像。”。
-
感谢您的回复。我建议将此信息添加到您的原始问题中。
-
@LudwikTrammer 好的。谢谢。
标签: django django-models sorl-thumbnail django-imagekit django-channels