链接到用户个人资料的多个图像



我有一个用户的个人资料图片。图片将被转换为两种尺寸:一种尺寸将显示在他的个人资料中(约200像素宽),另一种尺寸较小的缩略图将显示在搜索结果中(约64像素宽)。

为此构建数据库和文件夹结构的最佳方式是什么?

我对数据库结构的两个想法是:

# 1)
class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True)
    ...
    avatar = models.ImageField(upload_to='images/%Y/%m/%d', blank=True,)
    avatar_thumbnail = models.ImageField(upload_to='images/%Y/%m/%d', blank=True,)
# 2) 
class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True)
    ...
class Avatar(models.Model):
    avatar = models.ImageField(upload_to='images/%Y/%m/%d')
    user = models.ForeignKey(UserProfile)

哪一种方法会更好地处理这个问题?什么是构建图像文件夹的好方法,可以轻松地分离和引用两种图像大小?非常感谢。

您可以使用Sorl Thumbnail,上传一张图像,并使用Sorl的模板标签动态创建较小的版本。这也将使您不必创建另一个类。我在这个图书馆取得了很大的成功,希望它能帮助你。

http://pypi.python.org/pypi/sorl-thumbnail/11.05.2

我认为第二种选择实际上会更好。可能会完全拆分为一个单独的应用程序。我发现保持功能划分要好得多。在一个应用程序中保存与你的化身相关的所有内容,并保留其中的拇指钉代码等,以及创建用于显示化身的模板标签。

可能已经有一个应用程序。。。

最新更新