GAE blobstore杀了我

时间:2013-04-13 18:36:35

标签: image google-app-engine blob

我遵循了这个教程: https://developers.google.com/appengine/docs/python/images/usingimages

它杀了我......我设法让它工作......但是我无法满足我的需求...问题是我想用json序列化我的模型......

  1. 为什么他们将avatar = db.BlobProperty()放在模型中而不使用对该blob的引用?...有什么理由吗?

  2. 我找不到一个像样的教程,关于如何在Blob中存储图像,然后将其位置/键/引用存储在Model..Any建议中? 使用下面的代码...我正在准确地完成教程中的内容...如何获得对该图片的引用,以及如何存储它?

    pic = self.request.get('img')
    pic = db.Blob(pic)
    
  3. 我设法做的是将实体的id存储在JSON中,并使用该id来检索和显示pic。我用以下代码显示图片:

    class Image(webapp2.RequestHandler):
    def get(self):
        #product = db.get(self.request.get('img_id'))
    
        product = MenuProduct.by_id(int(self.request.get('img_id')))
        if product.small_pic:
            self.response.headers['Content-Type'] = 'image/png'
            self.response.out.write(product.small_pic)
        else:
            self.error(404)
    
    1. 我猜这种方法让所有效率都变成了地狱......对吗?
    2. 很抱歉,我的帖子听起来很乱......但我对这个主题相关的“好”文档感到厌倦。

1 个答案:

答案 0 :(得分:1)

您应该使用单独的Blobstore服务并将BlobKey存储在模型中,而不是将Blob存储为BlobProperty。