【问题标题】:How to specify size of thumbnails for photos that are hosted externally?如何为外部托管的照片指定缩略图的大小?
【发布时间】:2011-05-30 14:42:21
【问题描述】:

我正在建立一个拍卖网站(在 Python/Django 中)。用户可以提供存储在外部站点中的产品图片的 URL,例如存储在 Photobucket 中的图片。

所以我的计划是,在显示特定拍卖时,我将链接到外部产品图片。但是当我显示拍卖列表(例如搜索结果页面)时,我需要显示缩略图

我可以看到这样做的 2 个选项:

  1. 也可以使用外部托管的图像作为缩略图。为这些图像指定一个标准化的小尺寸以将它们“转换”为缩略图。我该怎么做 - 我是在 CSS 中还是在其他地方指定缩略图大小?什么是合适的尺寸?任何代码示例都将不胜感激,因为我对 CSS 或 HTML 不太熟悉。

  2. 当用户向外部图像提交 URL 时,将该图像下载到我自己的服务器并将其转换为缩略图。我可以使用任何 Python/Django 软件来下载远程图像,然后将其转换为缩略图?

感谢任何一般性建议。我倾向于选项 (1),因为我只有一个便宜的 VPS,而选项 (1) 的资源密集度会低得多。有什么不是好主意的理由吗?

谢谢。

【问题讨论】:

    标签: html css django image thumbnails


    【解决方案1】:

    两者都可以。

    1. 第一个选项可能意味着需要获取非常大的图像,然后由 css/html 调整大小。因此,这里的风险是速度慢(消耗了太多带宽)和图像大小调整丑陋(取决于浏览器)。
    2. 自己调整图像大小可能是一个非常好的策略。您将获得可预测的缩略图和更快的加载时间。您可以使用缓存来确保不会每次都计算调整大小的缩略图。

    我猜,如果你用 google 搜索了一下,你甚至可能会发现一个图像调整器作为 REST 服务,所以你甚至不必自己实现它(即使它很简单)——你可以将 url 连接到一些调整器服务的 url 并完成它。

    ** 编辑 **

    一些谷歌搜索发现了这些工具:

    【讨论】:

      【解决方案2】:

      相当确定我最近看到了类似的东西,您可以将 Django 模型字段指向远程图像 URL 并完成缩略图,但您也可以让它上传图像文件也。如果我现在找不到它该死。

      啊哈!也许是 sorl-thumbnail。举个例子:

      {% thumbnail "http://www.aino.se/media/i/logo.png" "40x40" crop="80% top" as im %}
          <img src="{{ im.url }}">
      {% endthumbnail %}
      

      假设您可以用模型(例如 lot.remoteimageurl)中的 URL 字段(而不是 ImageField)替换文字字符串,那么我认为就是这样。

      sorl-thumbnail 将为您处理缩略图的创建和缓存。

      http://thumbnail.sorl.net/index.html#

      【讨论】:

        猜你喜欢
        • 2011-09-06
        • 2014-02-13
        • 1970-01-01
        • 2010-12-06
        • 1970-01-01
        • 2014-11-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多