在Google App Engine上使用Django模板显示图片

1 投票
1 回答
563 浏览
提问于 2025-04-16 19:12

我正在使用谷歌应用引擎和Django来制作一个小应用,这个应用有以下功能:

  1. 上传图片,
  2. 显示图片,
  3. 处理图片(旋转)。

完成第一部分后,现在我在第二部分遇到了问题,我需要显示图片。
我已经做了所有的准备,获取了图片的键值,但图片就是不显示。
我只能看到我保存在数据存储中的图片标题。

这是我的代码:

    <ul>
        {% for image in image.all %}
            <li>{{ image.title }}   </li>
            <li> <img  src="/pictures/models.{{image.key}}"/>   </li>
        {% endfor %}
    </ul>

1 个回答

1

假设你已经做了以下几件事:

  • 你把图片上传到了一个叫做blobstore的地方
  • image.key是这个blobstore的一个标识符
  • 你有一个处理程序,叫做BlobstoreImageHandler,用于处理路径为/pictures/models\.(.*)/的请求

那么你可以这样做:

class BlobstoreImageHandler(blobstore.handler.BlobstoreDownloadHandler):
  def get(self, resource):
    resourse = str(urllib.unquote(resource))
    blob_info = blobstore.BlobInfo.get(resource)
    self.send_blob(blob_info)

这段代码直接来自于http://code.google.com/appengine/docs/python/blobstore/overview.html#Serving_a_Blob

撰写回答