我正在尝试使用Python 2.7(烧瓶)将数据库结果检索到网页,但仍然遇到unicode问题。以下是我正在使用的代码
def formval():
# --connection syntax here--
cursor = connection.cursor()
if request.method == 'POST':
x = request.form['weekno']
cursor.execute("SELECT Document FROM Backlog where custno=?",x)
result = cursor.fetchall()
return render_template('home.html',weekno=result)
home.html
{% for docno in weekno %}
<p>{{ docno }}</p>
{% endfor %}
输出:这给我输出如下
u'sp234780'
u'sd257679'
---------
---------
但是当我使用return render_template('home.html',weekno=result[0])
时,我的输出只是sp234780,但只有第一行而不是整个结果。
我已经浏览了所有与编码有关的帖子,并尝试使用encode('utf-8'),sys.setdefaultsetting(utf-8)等但没有运气
请建议
答案 0 :(得分:1)
查询返回一个元组元组。您遍历行的元组,但每行本身是一个元组,包含一个元素。您需要访问元素本身。
{% for docno in weekno %}
<p>{{ docno[0] }}</p>
{% endfor %}
答案 1 :(得分:0)
您可以在
行后添加一行result = cursor.fetchall()
添加:
result = [str(res) for res in result]