【发布时间】:2013-01-17 20:20:26
【问题描述】:
我有一个图像数据库。我想使用 jinja2 模板显示数据库中的所有图像。
我发送数据库对象如下:
class Default_tiles(db.Model):
name = db.StringProperty()
image = db.BlobProperty(default=None)
class MainPage(webapp2.RequestHandler):
def get(self):
# get all the default tiles in the database
default_tiles_query = Default_tiles.all()
defaultTiles = default_tiles_query.fetch(10)
template_values = {
'defaultTiles': defaultTiles # contain all the defaut tiles to be displayed
}
template = jinja_environment.get_template('index.html')
self.response.out.write(template.render(template_values))
在 Default_tiles 中显示每个对象中每个图像的 jinja2 模板是:
<body>
{% for defaultTile in defaultTiles %}
{{ defaultTile.image }}
{% endfor %}
</body>
当它运行时,我得到以下错误日志:
文件“/Users/jamiefearon/Desktop/Development/My Programs/GAE 具有 css、javascript 和 images/index.html 的功能齐全的网站”,第 24 行,在顶级模板代码中 {{ defaultTile.image }} UnicodeDecodeError:“ascii”编解码器无法解码位置 0 中的字节 0x89:序数不在范围内(128)
我怀疑我对{{ defaultTile.image }} 行做错了
感谢大家的帮助。
【问题讨论】: