我正在尝试使用图像 Python API理解文档,但我对如何获取密钥和显示头像感到困惑。
文档说Image
处理程序将在/img
路径之外提供图像。
我对这个Image
处理程序的作用感到困惑。我在下面评论如何理解它;请纠正。谢谢:
class Image (webapp.RequestHandler):
def get(self):
#get the key of the image "img_id" from datastore
#what is the value of "img_id"? Where does it come from?
#how does the app engine know to get what key for which image?
greeting = db.get(self.request.get("img_id"))
#what is greeting.avatar?
#is it img_id.avatar ?
#I assume "avatar" refers to the "avatar" property in the model
if greeting.avatar:
self.response.headers['Content-Type'] = "image/png"
#does this display the avatar?
#I thought the img tag displayed the avatar
self.response.out.write(greeting.avatar)
else:
self.error(404)
非常感谢您的帮助。
更新(回复:Gabi Purcaru 的回答)
再次感谢您的明确答复。我有一个显示用户评论的查询,如下所示:
for result in results:
self.response.out.write("<li>")
self.response.out.write("<b>%s</b> %s " % (result.userName, result.userLatestComment))
self.response.out.write("</li>")
self.response.out.write("</ol></body></html>")
所以,我从MainPage 处理程序中复制带有图像标签的行
self.response.out.write("<div><img src='img?img_id=%s'></img>" % greeting.key())
和改变
greeting.key()
至
result.key()
我假设,现在应该在用户评论旁边显示头像:
for result in results:
self.response.out.write("<li>")
self.response.out.write("<b>%s</b> %s " % (result.userName, result.userLatestComment))
self.response.out.write("<div><img src='img?img_id=%s'></img>" % result.key())
self.response.out.write("</li>")
self.response.out.write("</ol></body></html>")
但仍然不清楚为什么result.key()
我要显示的图像的关键是?