Django 如何在图库中强制排序图片
我正在构建一个django应用程序,它有一个图像库,客户端坚持按照特定的顺序显示图像。我使用管理界面上传图像并编辑其属性,我的模型中有一个Django 如何在图库中强制排序图片,django,sorting,image,gallery,Django,Sorting,Image,Gallery,我正在构建一个django应用程序,它有一个图像库,客户端坚持按照特定的顺序显示图像。我使用管理界面上传图像并编辑其属性,我的模型中有一个ImageFile类,基本上如下所示: class ImageFile(models.Model): """represents an image file""" # the image description description = models.CharField(max_length=45) # the actua
ImageFile
类,基本上如下所示:
class ImageFile(models.Model):
"""represents an image file"""
# the image description
description = models.CharField(max_length=45)
# the actual image
image = models.ImageFile(upload_to='images')
# running number representing the order on the page
order = models.IntegerField()
def __unicode__(self):
return "%s" % (self.description)
class Meta:
db_table = 'images'
我使用的是
整型字段
的“order”来获得控制排序的运行编号。我认为必须有一种更智能/更好的方法来实现这一点(另一种型号?),而且还能够通过管理界面轻松控制它。我支持您为用户提供对图像排序的可能性(无论如何,如果您想通过时间添加进行排序,最好的方法是按id排序),因此,如果有类似于图库的型号(图像)也许您应该存储galery中图像ID的元组(在DB中作为文本对象)。读过之后,将其转换为tuple,就得到了预期的顺序。希望我能提供帮助。我支持您给用户排序图像的可能性(无论如何,如果您想通过time add对其进行排序,最好的方法是按id排序),因此,如果有类似模型的图库(图像),也许您应该存储galery中图像id的元组(以DB为文本对象)。读过之后,将其转换为tuple,就得到了预期的顺序。希望我能提供帮助。如果图像的顺序是上传顺序,您可以使用时间戳对其进行排序。如果图像的顺序是上传顺序,您可以使用时间戳对其进行排序。我使用相同的方法(在模型中使用整数“order”字段)来定义排序。但是,我自定义了管理员,允许拖放属于相册的图像来定义顺序。当管理员点击“保存”按钮时,拖放后的订单将根据当前订单自动计算。所有数据都将提交到服务器以保存到数据库。我使用了相同的方法(在模型中使用整数“order”字段)来定义排序。但是,我自定义了管理员,允许拖放属于相册的图像来定义顺序。当管理员点击“保存”按钮时,拖放后的订单将根据当前订单自动计算。所有数据都将提交到服务器以保存到数据库。这可能是最好的主意,但您最好以JSON或Pickle等序列化数据格式存储订购信息。这可能是最好的主意,除了以序列化数据格式(如JSON或Pickle)存储排序信息可能更好。