我有一个用户的个人资料图片。图片将被转换为两种尺寸:一种尺寸将显示在他的个人资料中(约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
我认为第二种选择实际上会更好。可能会完全拆分为一个单独的应用程序。我发现保持功能划分要好得多。在一个应用程序中保存与你的化身相关的所有内容,并保留其中的拇指钉代码等,以及创建用于显示化身的模板标签。
可能已经有一个应用程序。。。