我试图使用SQLAlchemy获取一些字符串。
tags = db.session.query(Tag.tag_name).order_by(Tag.tag_id).all()
db
是我的sqlite数据库。 tag_name
个实体为VARCHAR
。
当我调试程序时,它显示标签变量是
{list}[(u'python',),(u'\u7f51',)]
此处\u7f51
是中文字符。
由于该项目基于Flask
框架,因此我使用Jinja2
在tags
中显示每个标记。
{% for tag in tags %}
<li><a href="#">{{tag}}</a></li>
{% endfor %}
在网页上显示的内容与(u'python',)
完全相同。
我希望网页显示python
之类的内容,但我不知道如何处理这个奇怪的列表对象。我该怎么办?
答案 0 :(得分:0)
这应该非常直截了当。查询结果集以tuple
格式获得。所以你有一个元组列表。对于非utf8 字符,使用encode
函数并使用list comprehension生成字符串列表。
你可以这样做:
tags = [r(0).encode('utf8') for r in tags]