为什么此保存方法不调整图像大小?

2024-01-27

我重写保存方法以便在上传后调整图像大小。以下代码似乎并未调整图像大小,我仔细检查了媒体文件夹,发现上传图像的原始尺寸 (900x850) 只有一份副本。 Django 没有抛出任何错误,所以我不知道如何解决这个问题。需要明确的是,我可以毫无问题地提交表单和上传图像,但图像没有按照我的预期调整大小

class Mymodel(models.Model):
    photo = models.ImageField(upload_to="...", blank=True)

def save(self, *args, **kwargs):
    # Did we have to resize the image?
    # We pop it to remove from kwargs when we pass these along
    image_resized = kwargs.pop('image_resized',False)

    if self.photo and image_resized:
        basewidth = 300
        filename = self.get_source_filename()
                image = Image.open(filename)
        wpercent = (basewidth/float(image.size[0]))
        hsize = int((float(image.size[1])*float(wpercent)))
        img = image.resize((basewidth,hsize), PIL.Image.ANTIALIAS)
        self.photo = img
        # Save the updated photo, but inform when we do that we
        # have resized so we don't try and do it again.
        self.save(image_resized = True)

    super(Mymodel, self).save(*args, **kwargs)

我究竟做错了什么?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么此保存方法不调整图像大小? 的相关文章

随机推荐

  • php从同一浏览器和同一php脚本同时下载文件

    你好 我有这个简单的代码 强制随机文件下载 我的问题是 如果我从同一个浏览器调用脚本两次或多次 第二次下载将不会开始 直到第一次完成或中断 因此我每次只能下载一个文件 你有什么线索吗 这可能与PHP的会话处理有关 使用默认的会话处
  • Chrome 中的窗口高度错误

    我正在尝试获取 Chrome 浏览器窗口的正确宽度和高度 Firefox 中的大小是正确的 我没有尝试过任何其他浏览器 我已将文档类型设置为 DOCTYPE html并尝试过 window height window width windo
  • 在自定义活动中绘制 TextView?

    我正在实施一个自定义View 我需要在其中绘制一些文本 文本必须适合一个盒子 所以我必须将其分解并使其适合 因此 我想我可以使用TextView并在我的自定义中绘制它View 这是我尝试过的 canvas drawRoundRect rec
  • 如何在 Two.js 中解释外部 svg 文件

    有什么方法可以在two js 中解释带有对象标记的外部svg 文件吗 我尝试了下面的方法但是 HTML JS var mySvg document getElementById mysvg contentDocument var shape
  • Maven Dll依赖问题

    我正在开发一个基于 swing 的桌面应用程序 该应用程序使用 MediaInfo dll 库 我首先像描述的那样将此 dll 安装到我的本地存储库这个答案 https stackoverflow com questions 1001774
  • java中导入语句的顺序[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 想知道 哪种是订购导入声明的正确方法 另外哪个具有更高的可读性 like 外部课程 如java util List 然后是内部包类 仅按字母顺序
  • Tensorflow 中 sess.run([op1, op2...]) 的顺序

    我想知道 sess run ops list 中操作列表的运行顺序是什么 例如 对于典型的分类场景 loss sess run train op loss op if train op先运行 那么损失就是当前反向传播之后的损失 但如果los
  • Python,导入错误:未定义的符号:g_utf8_skip

    StackOverflow 上大约有几十个类似的问题 但经过几个小时的潜伏 我终于放弃了 所以我正在尝试为Python编写一个C扩展 我们就这样称呼它吧mylib 这是头文件 mylib h ifndef mylib H define my
  • 如何使用 JSqlParser 添加新条件?

    我想向我的 sql 添加新条件 例如如果查询是 SELECT EMP ID FIRST NAME FROM EMPLOYEES 我可以使用此代码添加新的原因 Override protected void setLimit final Pl
  • 通过应用自定义 css 类禁用 html 输入元素

    我想通过应用我的自定义 css 类来禁用 div 的所有输入元素 但我找不到任何可以禁用输入元素的 css 属性 目前我在做什么 div sercvice detail input attr disabled true retention
  • 找不到 Webpackject.preload.js 文件[重复]

    这个问题在这里已经有答案了 我将 Vue Typescript 与 webpack 结合使用 每次我打开页面inject preload js抛出一个错误 例如GET blob http URL 1fbc0606 8477 416b a45
  • Javascript 闭包和内存问题

    Following function add new table entry to table and return interface which has function which uses closure to access and
  • 什么是 .inc 以及为什么使用它?

    我经常在 PHP 中看到包含 inc 文件的示例 inc 是什么意思 它是用来做什么的 使用它有什么缺点和优点 它没有任何意义 只是一个文件扩展名 如果该文件被设计为被其他 PHP 文件包含 则某些人习惯用 inc 扩展名命名该文件 但这只
  • Nuxt3生成类型错误:无法读取null的属性(读取'isCE')

    我在我的应用程序中使用 Nuxt3 Vite Leaflet Bootstrap 该应用程序在开发中运行良好 但是当我尝试使用生成静态站点时npm run generate 我收到以下错误 类型错误 无法读取 null 的属性 读取 isC
  • 通过 python 使用 Google Drive API V3 获取 Google Drive 文件所有者电子邮件地址

    我无法通过 Google Drive API v3 获取 Google 云端硬盘上文件的所有者 我可以在 v2 下做到这一点 但事情已经改变了 根据文档 https developers google com drive api v3 re
  • 在Android Studio中使用自定义框架库(android.jar)

    我有自己的定制框架 android jar 并想在 Android Studio 中使用它 我的 build gradle 中有如下描述 dependencies compile files myandroid jar 但Android S
  • 如何将material-ui时间选择器更改为24小时格式

    目前使用的是Timepicker来自材料用户界面 我已将其设置为type time 它允许我通过 AM PM 选项选择一天中 12 小时内的时间 我希望我的选择器采用 24 小时格式 从而删除 AM PM 选项 我查看了material u
  • 为什么变量在更改其因变量后没有更新? [复制]

    这个问题在这里已经有答案了 我不明白为什么当我更改 x 时变量 y 不更新 y 变量依赖于 x 对吧 x 5 y x 2 print x print y x 3 Expect it to print 3 and 6 instead it p
  • 我可以在 robots.txt 中使用“Host”指令吗?

    Searching for specific information on the robots txt I stumbled upon a Yandex help page http help yandex com webmaster c
  • 为什么此保存方法不调整图像大小?

    我重写保存方法以便在上传后调整图像大小 以下代码似乎并未调整图像大小 我仔细检查了媒体文件夹 发现上传图像的原始尺寸 900x850 只有一份副本 Django 没有抛出任何错误 所以我不知道如何解决这个问题 需要明确的是 我可以毫无问题地