django - 如何使用 django 构建一个 pinterest 之类的照片选择器?
问题描述
我正在构建一个 django 应用程序,用户可以在其中上传多个图像并将其存储为相册。
在我当前的实现中,我有两个模型Photo
和Album
. 在Album
模型中,我有一个模型的多对多字段Photo
。因此,用户可以在Album
模型中选择多张照片。
有没有一种方法可以在Album
模型中实现照片选择器而不是简单的多对多字段?
这是我的代码:
class Photo(models.Model) :
def get_gallery_path(self, filename):
ext = filename.split('.')[-1]
filename = "%s.%s" % (uuid.uuid4(), ext)
return 'static/uploads/images/gallery/' + filename
uploader = models.ForeignKey(User, on_delete=models.CASCADE)
date = models.DateField(default=date.today)
image = ProcessedImageField(default='', verbose_name='Image', upload_to=get_gallery_path,validators=[validate_file_size], **processed_image_field_specs)
caption = models.CharField(max_length=200, null=True, blank=True)
def __str__(self):
return str(self.id) + str(self.uploader.username) + str(self.date)
class Meta:
verbose_name_plural = "Photos"
verbose_name = "Photo"
class Album(models.Model) :
title = models.CharField(max_length=200)
uploader = models.ForeignKey(User, on_delete=models.CASCADE)
date = models.DateField(default=date.today)
description = models.TextField(null=True, blank=True)
tags = models.ManyToManyField(Tag, blank=True)
category = models.ManyToManyField(Category, blank=True)
photos = models.ManyToManyField(Photo, blank=True)
def __str__(self):
return self.title
class Meta:
verbose_name_plural = "Albums"
verbose_name = "Album"
PS:我只使用内置的管理界面来存储数据。
解决方案
推荐阅读
- javascript - 如何从视频创建 Blob URL 并分配给视频源?
- javascript - 如何使用 InnerHTML 将 html 类替换为脚本?
- java - 在 android studio 的 Calculator App 中删除 double 的问题?
- haskell - 如何在得到结果之前永久重试 IO?
- ios - 从回调函数 SWIFT 存储数据
- python - 将 timedelta[64] 列转换为从午夜开始的秒数
- c# - PdfStamper 未添加新文本以辅助 PDF
- docker - 从 sudo minikube start --vm-driver none 切换到 --vm-driver docker 并且无法再访问我的应用程序
- database - Laravel Eloquent:在单个数据库事务中保存模型和关系
- javascript - 滚动到下一个(无论 ID)