如何在Google App Engine中加载Blobproperty图像?

时间:2010-11-26 06:31:28

标签: image google-app-engine upload

我写了一些代码。

我可以在BobProperty中保存图像。

但我无法将图片加载到HTML页面......

源代码:

class Product(db.Model):

        image = db.BlobProperty()
            ...

类添加:

  productImage = self.request.get('image')

  product.image = db.Blob(productImage)

  product.put()

但我将{{product.image}}写入html代码。但有像 袀 ( (:( ( ( >̢ ( > Y K ׏

如果我想从数据存储区加载图片,该怎么办?

1 个答案:

答案 0 :(得分:5)

我使用辅助视图:

def serve_image(request, image):
    if image == "None":
        image = ""

    response = HttpResponse(image)
    response['Content-Type'] = "image/png"
    response['Cache-Control'] = "max-age=7200"
    return response

并在模型中:

def get_image_path(self):
    # This returns the url of serve_image, with the argument of image's pk.
    # Something like /main/serve_image/1231234dfg22; this url will return a
    # response image with the blob
    return reverse("main.views.serve_image", args=[str(self.pk)])

而只是使用{{ model.get_image_path }}

(这是django-nonrel,但我想你可以弄明白它的作用)

另外,有关于此的帖子 here ;你应该看看它。