【发布时间】:2017-11-12 16:35:39
【问题描述】:
我想从 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]),它包含值 [surname, surname, surname]。谢谢。
【问题讨论】:
-
能否在模板中添加
{{workers0}}以检查视图发送的内容? -
@PRMoureu,我写在模板
<option value="{{ workers0.ID_pats }}">{{ workers0.surname }}</option>,但下拉列表是空的,但有3个空元素 -
@PRMoureu,写在
for{{workers0}}之前? -
就在
<dd><select name="worker0">行上方,只是为了查看它包含的确切内容 -
@PRMoureu,它输出
({'ID_worker': 1L, 'surname': u'\u0418\u0432\u0430\u043d\u043e\u0432'}, {'ID_worker': 2L, 'surname': u'\u041f\u0435\u0442\u0440\u043e\u0432'}, {'ID_worker': 3L, 'surname': u'\u0421\u0438\u0434\u043e\u0440\u043e\u0432'})
标签: python flask mysql-python