我有一个图像数据库。我想使用 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>
当它运行时,我得到以下错误日志:
顶级模板代码 {{ defaultTile.image }} UnicodeDecodeError: 'ascii ' 编解码器无法解码位置 0 中的字节 0x89:序数不在范围内(128)
我怀疑我的线路有问题{{ defaultTile.image }}
感谢大家的帮助。