如何在 django 管理端裁剪图像?

Posted

技术标签:

【中文标题】如何在 django 管理端裁剪图像?【英文标题】:How to crop image on django admin side? 【发布时间】:2012-04-02 10:06:02 【问题描述】:

我想在 django 管理站点中添加图像裁剪功能。我不知道如何才能完成它。我使用了 django-image-cropping 应用程序,但无法将其集成到管理端。

【问题讨论】:

相关:***.com/questions/7907803/…. 已经经历了这个,但没有想法在 django 管理端实现。 您需要返回并接受您之前 8 个问题的一些答案 “无法整合”是......不是很精确。如果您使用的是 django 1.4,则必须使用最新版本 (pypi.python.org/pypi/django-image-cropping),因为它包含一些必要的修复。否则,您必须提供有关问题所在的更多信息。由于图像裁剪是为在管理员中裁剪图像而设计的,因此您实际上不必集成它。只需按照文档操作即可。 感谢大家的宝贵建议...我已经使用 django-cropper 应用程序完成了。 【参考方案1】:

你应该在你的模型中定义 save() 方法:

class MyImage(models.Model):
  image = models.ImageField(...)
  image_crop = models.ImageField(blank=True)

  def save():
    super(MyImage, self).save() #will save only image, image_corp will be blank.

    image_path = self.image.path #path to your non croped image

    #now you can load image file and crop it usung PIL and save.

    self.image_crop = 'path/to/cropped/image' #add path to cropped image.
    super(MyImage, self).save() #save data.

【讨论】:

以上是关于如何在 django 管理端裁剪图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jquery 裁剪缩放的图像

如何在浏览器下载之前将图像裁剪为客户端分辨率

在 Django Admin 中有 Jcrop 的缩略图吗?

管理面板 cms 的裁剪工具

使用 MS Office 图片管理器从 JPEG 图像中裁剪颜色

上传前在浏览器中裁剪图像[关闭]