get_serving_url 返回类型为 'Key' 的对象没有 len()



>我正在尝试从 blob 存储返回缩略图。对于完整的图像,我通常会写出来

<img src='img?img_id=%s'></img>" % greeting.key()

(其中问候语处于循环中,从数据库中获取图像的选择)与处理程序('/img', ImageHandler)和函数

class ImageHandler(webapp.RequestHandler):
def get(self):
    greeting = db.get(self.request.get("img_id"))
    if greeting.picture:
        self.response.headers['Content-Type'] = "image/png"
        self.response.out.write(greeting.picture)
    else:
        self.error(404)

这很好用。但是,当使用get_serving_url时,调用

<img src='img?img_id=%s'></img>" % (images.get_serving_url(greeting.key(), 32))

我得到一个TypeError: object of type 'Key' has no len().我只能假设我使用的 blob 键不正确,但据我所知,这就是 blob 键。

您可能

希望在将密钥对象传递给get_serving_url()之前调用str()。它很可能期待密钥的字符串形式。

它在原始版本中起作用的原因是,将 % 运算符与 %s 格式说明符一起使用会自动调用str(),以便您确定要插值的字符串。

相关内容

最新更新