ImageField 和 Django 中的几种尺寸

ImageField and several sizes in Django

我是 Django(和 Python)的新手,想知道 class 的 ImageField 属性。我的例子是关于我网站的用户。我需要用户每张图片的 3 种尺寸: * user1-200-200.png * 用户 1-120-120.png * user1-60-60.png

当然我只想要一种文件输入类型。 我是否应该为所有属性创建 3 个属性并从表单调整其中一个的大小:

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    slug = models.CharField(max_length=30)
    avatar_200_200 = models.ImageField(null=True, blank=True, upload_to="images/")
    avatar_120_120 = models.ImageField(null=True, blank=True, upload_to="images/")
    avatar_60_60 = models.ImageField(null=True, blank=True, upload_to="images/")

我可以不使用 属性 并执行我在 PHP 中所做的操作吗,多次调整图像大小,将它们移动到正确的文件夹,然后在网站中使用会话找到它们 (我总是重命名图像并将它们转换为 png)。

我不知道该做什么,什么是可能的,什么是最好的。谢谢你的建议。

当然可以,但是您必须重新实现一些内置的 django 功能,例如文件上传、存储支持、width/height calculating/saving 等