基本上,我想要做的是拥有一个模型类,它可以在一个变量名下拥有任意数量的图像。例如,像这样:
class ListField(models.Model):
image_list = a list of images
有没有办法在Django中实现这一目标?如果问题太模糊,我可以详细解释我想要做什么,以便给你们一个更好的主意。谢谢!
好的,这里有详细信息:我的网站上有一个漫画模型。如预期的漫画模型有一个领域,是漫画的形象。这些图像通常非常大,并且在手机上效果不佳。我正在使用bootstrap使我的网站响应。所以我想如果我将每个漫画图像分成单独的矩形面板,并将它们上传并存储在一个变量名下,我可以简单地使用Bootstrap的网格系统来响应地显示它们。
因此,我基本上想要一种方法在一个变量名下存储几个图像,并使用循环调用它们。有什么想法吗?
答案 0 :(得分:3)
在存储大量图像方面,ListField是一个不好的举动,特别是因为它暗示你将数据存储为blob / long字符串。
为要存储的每个图像创建一个模型,使用正确的models.ImageField进行验证等,并使用models.ForeignKey将它们与相关的Comic相关联
例如
class Comic(models.Model):
title = models.CharField(....)
... etc etc
class ComicImage(models.Model):
comic = models.ForeignKey(Comic, related_name="comic_images")
image = models.ImageField(upload_to="see/the/django/docs")
order = models.IntegerField(default=0) # increment this for each image in a set
class Meta:
ordering = ('order', ) # automatically order the images