Sorl-thumbnail: 日志和电子邮件中的“get_thumbnail 中缺少 file_ 参数”错误

创建于 2017-11-22  ·  10评论  ·  资料来源: jazzband/sorl-thumbnail

我已将我的站点配置为发送我记录的错误消息,自从升级到 sorl-thumbnail 12.4.1 以来,我一直收到这些错误消息:

missing file_ argument in get_thumbnail()

这是发出此错误的代码行:

https://github.com/jazzband/sorl-thumbnail/blob/a99797fe20fbf78993d42d4031e9239401c24a78/sorl/thumbnail/base.py#L83

我看到我是写这一行的人,将其从异常更改为已记录的错误:0375ffe9b66e571bfeb7581fb47174f50b47468f

我这样做是基于@mariocesar在这里的评论: https :

关于raise ValueError('missing file_ argument in get_thumbnail()')的事情我们可能需要在 DEBUG=False 中保持沉默,但保持错误。 这是一个常见的问题。

最有用的评论

@timgraham我想我知道。 我更喜欢 GitHub 提交者在 PyPI 上发布相应的错误修复之前保持问题处于开放状态。 当我在一个发布的项目中遇到一个 bug 时,我经常尝试搜索它的 bug 报告,然后如果我找不到一个未解决的问题,我会提交一个新的。 即使我确实找到了旧的已关闭问题,我也会提交一个新问题,假设出现回归。 如果仅在实际发布错误修复时才关闭错误报告,则可以避免此问题。

所有10条评论

也刚刚升级到 12.4.1,我开始在我们的日志中看到这个错误。

这可以追溯到#472。 sorl-thumbnail 的旧行为是可以传递实际上没有文件的文件字段,该字段解析为空字符串。 get_thumbnail将返回 None,因此模板标签将呈现空替代。

这显然在最新版本中发生了变化!

预期的行为是什么? 如果我们应该用{% if object.my_image_field %}包装我们所有的缩略图调用 - 那么我将只更新我的代码。 如果这是一个回归 - 我愿意创建一个 PR 来解决这个问题,但我想知道它是否需要先修复。

PyPi 上发布的旧版本 12.4a1 确实具有您所描述的行为,@tomkins。 我认为这是最初打算的行为。 这就是文档所说的并且七年来一直在说的内容:

使用empty功能,当源解析为空值或无效图像源时,会渲染empty部分,您可以将其视为缩略图未定义时的渲染。

自 PyPI 上发布以来, @mariocesar提交了此 17748e5c26384e9af25e2d5515496a50ea6f3701 ,这导致缺少file_参数引发异常。

为了让测试通过,我在这个 pull request #493 和这个 rebased commit 0375ffe9 中更改了这个代码,根据@mariocesar在评论https://github 中的建议,将异常转换为记录的错误

也许我们应该将模板标签更改get_template在传递空字符串或 None 值时不调用get_template的函数体记录错误(或抛出错误)例外)。 我绝对不希望人们必须修改他们的所有模板以包含{% if object.my_image_field %}包装!

让我们保持开放,直到它在 PyPI 上发布。

知道什么时候会在 pypi 上发布吗? 仍然收到 12.4.1 的错误

+1

刚刚遇到同样的错误,我的sentry.io日志文件报告了错误。

你好。 PyPI 中上游可用版本的此修复程序是否有任何更新? 我的项目按预期工作,但是在使用创建的临时文件来验证我的测试的 POST 请求时,我偶然发现了这个错误。 有解决方法吗?

@sebastian-code 在我们等待 PyPI 上发布新版本时,您可以从 GitHub 安装它,如下所示:

$ pip install -e git+https://github.com/jazzband/sorl-thumbnail.git@b6358d234d7de3927a2666a2a5ab3d7870c0e1d3#egg=sorl_thumbnail

您可以将b6358d234d7de3927a2666a2a5ab3d7870c0e1d3替换

https://github.com/jazzband/sorl-thumbnail/issues/546

我不认为在 bug 被发布之前保持开放的价值。

@timgraham我想我知道。 我更喜欢 GitHub 提交者在 PyPI 上发布相应的错误修复之前保持问题处于开放状态。 当我在一个发布的项目中遇到一个 bug 时,我经常尝试搜索它的 bug 报告,然后如果我找不到一个未解决的问题,我会提交一个新的。 即使我确实找到了旧的已关闭问题,我也会提交一个新问题,假设出现回归。 如果仅在实际发布错误修复时才关闭错误报告,则可以避免此问题。

我同意@Flimm我认为这也有助于开发人员跟踪他们自己的项目状态@timgraham

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

awidgery picture awidgery  ·  5评论

int-ua picture int-ua  ·  6评论

uri-rodberg picture uri-rodberg  ·  11评论

lcmartinezdev picture lcmartinezdev  ·  5评论

devova picture devova  ·  8评论