好的,所以我正在玩tipfy,制作一个简单的照片库。我有一个使用webbapp的工作解决方案,这是我的模板,browse.htm,在两个例子中保持不变:
{% for pic in photo_list %}
<tr>
<td><img src='getPic?img_id={{ pic.key }} '></img></td>
<td>{{ pic.description }}</td>
<td>{{ pic.date }}</td>
</tr>
这是我的databsemodel,也是同样的
# This is the datamodell for the photos
class dbPhotos(db.Model):
pic = db.BlobProperty() # The photo itself
description = db.StringProperty(multiline=True) # an optional description to each photo from the uploader
date = db.DateTimeProperty(auto_now_add=True) # date and time of upload
所以,使用webapp,我的脚本是:
# the handler for the gallery page
class BrowseHandler(webapp.RequestHandler):
def get(self):
que = db.Query(dbPhotos)
photos = que.fetch(limit=100)
outstr = template.render('browse.htm', {'photo_list': photos})
handler.response.out.write(outstr)
# serve pics to template
class getPicHandler(webapp.RequestHandler):
def get(self):
userphoto = db.get(self.request.get("img_id"))
self.response.headers['Content-Type'] = "image/png"
self.response.out.write(userphoto.pic)
所以,这完美无缺。现在,尝试使用tipfy,我做:
# the handler for the browse-page
class browseHandler(RequestHandler):
def get(self):
que = db.Query(dbPhotos)
photos = que.fetch(limit=100)
return render_response('browse.ji', photo_list=photos)
# serve pic to view
class getPicHandler(RequestHandler):
def get(self):
id = self.request.args.get("img_id")
userphoto = db.get(id)
return Response(userphoto.pic, mimetype='image/png')
现在,最后一个例子并不完美。 它会获取所有评论和日期并正确显示,但无图片。
我很坚持这一点,欢迎任何意见。
答案 0 :(得分:1)
所以,我设法让它工作,解决方案是从
更改模板{% for pic in photo_list %}
<tr>
<td><img src='getPic?img_id={{ pic.key }} '></img></td>
要
{% for pic in photo_list %}
<tr>
<td><img src='getPic?img_id={{ pic.key() }} '></img></td>
Anoyone非常欢迎评论为什么这是解决方案