gpt4 book ai didi

django - 使用 AJAX 上传图像,裁剪我们选择的部分,并保存在 django 管理中

转载 作者:行者123 更新时间:2023-12-04 12:53:42 34 4
gpt4 key购买 nike

我需要为管理员提供为 ImageField 上传图像的功能使用 AJAX,然后裁剪他选择的部分(具有预定义的尺寸比例或分辨率),然后将裁剪后的图像保存在数据库中。

我试过 django-image-croppingdjango-ajaximage为了这。

#Using django-image-cropping
from image_cropping import ImageRatioField
class Alumnus(models.Model):
photo = models.ImageField(null=True, blank=True)
cropped_photo = ImageRatioField('photo', '430x360')
#Using django-ajaximage
from ajaximage.fields import AjaxImageField
class Alumnus(models.Model):
photo = AjaxImageField(
upload_to='alumni_photos',
max_height=400,
max_width=400,
crop=True
)

虽然 django-ajaximage使用 AJAX 上传图像,但不允许管理员选择他想要裁剪的图像部分, django-image-cropping裁剪图像分两步:首先我们需要上传图像,将其保存到数据库,然后我们需要再次打开对象并选择裁剪部分,并将其再次保存到数据库中,我觉得这不必要地繁琐。有什么建议?

最佳答案

看起来您需要在浏览器中使用一个 JS 库来进行实际裁剪。然后你可以使用 AJAX 将它发送到服务器。

DarkroomJS可能正是您所需要的。它使用 HTML5 Canvas 在浏览器中进行图像编辑。它实际上比您需要的功能多一些,但它应该可以完成工作。

关于django - 使用 AJAX 上传图像,裁剪我们选择的部分,并保存在 django 管理中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28629598/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com