【发布时间】:2021-03-11 20:38:31
【问题描述】:
我正在尝试开始使用 Django Oscar,但无法正确加载图像。上传图像后,我收到此错误 - “无法将模式 RGBA 写入 JPEG”。错误来自第 11 行:
6 {% block product %}
7 <article class="product_pod">
8 {% block product_image %}
9 <div class="image_container">
10 {% with image=product.primary_image %}
11 {% oscar_thumbnail image.original "x155" upscale=False as thumb %} <!-- this line throwing error -->
12 <a href="{{ product.get_absolute_url }}">
13 <img src="{{ thumb.url }}" alt="{{ product.get_title }}" class="thumbnail">
14 </a>
15 {% endwith %}
16 </div>
17 {% endblock %}
这是因为我没有正确安装 libjpeg 吗?我在 Windows 上运行它,但我仍然不清楚我是否正确安装了 libjpeg。如果这是我的问题,下载后我需要对那个包做什么?
如果我能提供更多有用的信息,请告诉我。
【问题讨论】:
-
问题似乎是原始图像包含 JPEG 格式不支持的 Alpha 层或透明层。我不确定您使用的是哪个 Oscar Thumbnail 扩展,所以我不知道在哪里查看扩展是否支持预先将图像转换为 RGB 模式。一种可能的解决方法是确保使用此处的代码将所有适用的图像转换为 RGB 模式:stackoverflow.com/a/49255449/42346,但如果您不断获得新图像,这可能不是可持续的解决方法。
-
我只是使用默认的 sorl 缩略图。也许我会尝试不同的缩略图扩展,看看是否能让我有所收获。有什么提示或事情我可以尝试解决这个问题吗?
标签: django libjpeg django-oscar