问题标签 [sorl-thumbnail]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4496 浏览

django - Django + S3 (boto) + Sorl Thumbnail: 优化建议

我在我正在开发的 Django 站点上使用 S3 存储后端,以减少来自 EC2 服务器的负载,并允许多个 Web 服务器(冗余、负载平衡)访问同一组上传的媒体。

我们的模板中使用了 Sorl.thumbnail (v11) 模板标签,以允许灵活地调整图像大小/裁剪。

富媒体页面的性能不是很好,第一次访问包含需要生成缩略图的页面时,请求甚至超时。

我知道这是由于 sorl 缩略图检查/从 S3 下载原始图像(可能非常大和高分辨率),以及渲染/检查/上传缩略图。

您认为此设置的最佳解决方案是什么?

除了 S3 副本之外,我还看到了存储本地文件副本的建议(当使用几台服务器进行负载平衡时,这不是很好)。我还看到它建议存储 0 字节文件来愚弄 sorl.thumbnail。

有没有其他建议或更好的方法来解决这个问题?

0 投票
2 回答
1372 浏览

django - sorl-thumbnail:在保存之前调整原始图像的大小?

在我的模型上使用 sorl-thumbnail v11.01 和 ImageField 是否有一种简单的方法可以在保存上传文件之前调整其大小(以避免保存大量图像,以防已上传)?提前致谢。

0 投票
2 回答
1051 浏览

python - Django:sorl-thumbnail 和在我自己的文件服务器上托管图像文件

我非常喜欢sorl-thumbnail库,并且我想将图像文件存储在当前应用程序(django)服务器中,而不是存储在(另一个)我自己的带有 web 服务器的文件服务器中,用于提供静态文件。

  • 我是否必须编写自定义 django 存储
  • 如何将文件上传到远程静态文件服务器?
  • 如果我有许多应用程序(django)服务器和许多文件服务器怎么办?
  • 使用自定义文件上传处理程序更好吗?如果没有,那么它什么时候有用?如果是,那么如何将它与 sorl-thumbnail 一起使用?

PS我不确定这样做的正确(好)方法是什么,因为我在网络编程和Django方面没有太多经验。

0 投票
4 回答
2405 浏览

django - 带有 Sorl 缩略图的 Django 模板语法错误

我试图让 Sorl-thumbnail 在我的登台服务器上运行,但我遇到了一个 TemplateSyntaxError,因为该应用程序在 localhost 上运行良好,所以它抛出了我。

错误出现在 {% endthumbnail %}

任何帮助将不胜感激。谢谢!

0 投票
3 回答
8290 浏览

django - 在 django 的 s3 上存储图像和缩略图

我正在尝试使用 django-storages、boto 和 sorl-thumbnail 将我的图像缩略图并存储在 s3 上。我有它的工作,但它很慢,即使是小图像。我不介意保存表单并将图像上传到 s3 时速度很慢,但我希望它在此之后快速显示图像。

这个 SO question 的答案解释说,在第一次访问之前不会创建缩略图,但您可以使用 get_thumbnail() 预先创建它。

Django + S3 (boto) + Sorl Thumbnail: 优化建议

我正在这样做,现在似乎 thumbnail_kvstore 表中的所有条目都是在上传图像时创建的,而不是在显示时创建的。

问题是显示图像的页面仍然很慢。查看调试工具栏中的日志记录面板,看起来与 s3 的通信仍然很多。似乎在上传和缓存图像和缩略图后,页面应该快速呈现而不与 s3 通信。

我究竟做错了什么?谢谢!

更新:weak hack 似乎已经让它工作了,但我很想知道如何正确地做到这一点:

https://github.com/asciitaxi/sorl-thumbnail/commit/545cce3f5e719a91dd9cc21d78bb973b2211bbbf

更新:@sorl 的更多信息

我正在使用 2 个视图:

添加视图:在此视图中,我提交表单以创建包含图像的模型。图片上传到s3。在 post_save 信号中,我调用 get_thumbnail() 在需要之前生成缩略图:

显示视图:在此视图中,我显示在添加视图中生成的缩略图:

没有补丁:

添加视图:在 kvstore 表中创建 3 个条目,访问缓存 10 次(6 组,4 次获取),调试工具栏的日志记录选项卡显示“建立 HTTP 连接”12 次

显示视图:kvstore 表中仍然只有 3 个条目,只有 1 个从缓存中获取,但调试工具栏仍然显示“建立 HTTP 连接”3 次

只有第 122 行的更改:

添加视图:同上,除了日志只说“建立 HTTP 连接”2 次 显示视图:同上,除了日志只说“建立 HTTP 连接”1 次

还在第 118 行添加更改:

添加视图:与上面相同,但现在我们减少到 2 条“建立 HTTP 连接”消息 显示视图:与上面相同,根本没有日志消息

更新:看起来 storage._setup() 被调用了两次, storage.url() 被调用了一次。根据时间,我会说每个人都与 s3 建立连接:

这似乎反映在 boto 日志记录中,它说“建立 HTTP 连接”3 次。

0 投票
1 回答
1010 浏览

sorl-thumbnail - 使用新的 sorl-thumbnail 过滤图像

我正在尝试将一些旧网站升级到最新版本的 Django,并且 sorl-thumbnail 也需要更新。

我已将一些模板修复为新的 {% thumbnail ... %} {% endthumbnail %} 格式,但我无法同时使用内置和自定义过滤器(或处理器)。我有一个用于制作黑白缩略图和一个自定义编写的用于将饱和度设置为 50%。如何使用最新版本的 sorl-thumbnail 做到这一点?

0 投票
1 回答
4398 浏览

django - Sorl-thumbnail 错误的 url

我根据说明设置了 sorl-thumbnail,但是当我尝试在我的应用程序中使用模板标签时,没有任何图像出现。

似乎 url 无效,但不清楚需要什么额外配置。

生成这样的图像:

“缓存/...”如何解析为对图像的请求?这些请求与我的应用程序相关,而不是 sorl-thumbnail:

以下是 settings.py 中的相关行:

这是我模板中的代码:

图像肯定会被上传(我检查了upload_to中指定的目录),当我使用文件系统缓存时,它们被存储在相对于我的应用程序的目录缓存/中。我将其更改为使用 memcache 以查看是否有帮助。

0 投票
4 回答
2565 浏览

django - sorl thumbnail + django 生产中的问题

我在 Django 中使用 sorl 缩略图。在我的本地设置上它工作正常,但在生产中没有制作缩略图。

我的代码如下所示:

我启用了日志记录,跟踪如下所示:

该错误不是很有帮助,因为该文件在那里并且所有人都可以读取。我不确定如何获得更明确的错误,或者尝试修复什么。

然后更令人困惑的是它可以使用manage.py shell

它制作了缩略图,只是不会通过模板代码制作缩略图。

任何人?

0 投票
1 回答
11248 浏览

javascript - 固定漂亮照片中的窗口大小

我正在使用 prettyphoto 作为 django-app 中的照片库。我的图像具有最大高度/宽度(使用 sorl-thumbnail),但纵横比不同。因此,prettyphoto 的窗口也会改变它的长宽比,并且每次加载下一张/上一张图像时,前进/后退按钮都会改变位置(它们移动)。有没有办法让 prettyphoto 有一个固定的窗口大小?或者为图像添加边框,使其格式为正方形。但我不想裁剪图像。

在此先感谢雅克

0 投票
1 回答
1142 浏览

python - 将 django sorl-thumbnail 与 django form-utils 一起使用

如何在 django form utils 中实现 sorl 缩略图?

所以表单 utils 文档说明了它的 ImageWidget:

(缩略图仅在安装了 sorl-thumbnail 时可用;否则显示全尺寸图像)。

但是,我似乎无法实现它。我尝试在模型中使用 sorl 的 ImageField,它破坏了 form-utils 的 ImageWidget,当我在模板中只有以下内容时,我无法在模板中使用它:

form utils 有一个选项,上面写着:

ImageWidget 接受关键字参数模板。这是一个字符串,它定义了图像缩略图和文件输入小部件如何相对于彼此呈现。模板字符串应包含可变插值标记 %(input)s 和 %(image)s。默认值为 %(input)s
%(image)s

在代码中如下所示:

但我仍然无法弄清楚。