我想从MySQL中的数据库表中选择数据。这是Python中的程序
@app.route('/formworkers.html')
def formworkers():
cursor = mysql.connection.cursor()
cur = cursor.execute("SELECT ID_worker, surname FROM workers")
return render_template('formworkers.html', workers0=cursor.fetchall())
Jinja2中的模板
{% extends "layout.html" %}
{% block body %}
{% if session.logged_in %}
<form action="" method=post class=add-worker >
<dl>
<dt>Surname:
<dd><select name="worker0">
{% for ID_pats, surname in workers0 %}
<option value="{{ ID_worker }}">{{ surname }}</option>
{% endfor %}
</select>
<br><br>
<dd><input type=submit value="Submit">
</dl>
</form>
{% endif %}
{% endblock %}
但下拉列表中不包含数据库中的数据(例如[Ivanov,Petrov,Sidorov]),它包含值[姓氏,姓氏,姓氏]。谢谢。
答案 0 :(得分:1)
查询将结果作为字典列表输出,因此当您在for
循环中将其解压缩时,您只会获得一个键"ID_worker"
和"surname"
的列表。
您可以更改to access the values下面的模板:
{% for worker in workers0 %}
<option value="{{ worker.ID_worker }}">{{ worker.surname }}</option>
{% endfor %}