【发布时间】:2019-07-19 17:45:03
【问题描述】:
我正在尝试构建一个 WTForm 以将元素添加到 SQLite 表中。该表只有两个列(id 和 name)
routes.py:
@app.route('/systems', methods=['GET', 'POST'])
def systems():
form = SystemForm()
if form.validate_on_submit():
system = Systems(name=form.systemname.data)
db.session.add(system)
db.session.commit()
return redirect(url_for('systems'))
return render_template('systems.html', title='Systems', form=form)
forms.py:
class SystemForm(FlaskForm):
systemname = StringField('System', validators=[DataRequired()])
submit = SubmitField('Add')
但是在表格之前我想显示表格中已经存在的所有行:
- 系统 1
-
系统 2 ....
文本字段/提交按钮
假设我可以通过以下方式获取行,我该如何实现:
database = "mydb.db"
conn = create_connection(database)
cur = conn.cursor()
cur.execute("SELECT * FROM systems")
data = cur.fetchall()
将列表作为表单定义的一部分吗?或者可以放在表单标记之前,如下所示(作为从 sqlite 查询返回的行的数据):
{% for item in data %}
<table>
<tr>
<td>{{item[1]}}</td>
</tr>
</table>
{% endfor %}
如何将数据传递给 html 模板?
【问题讨论】:
标签: sqlite flask jinja2 flask-wtforms