我有一个小表格,我想用查询结果填充该表格,以便以后可以对其进行编辑。我正在使用Flask,WTForms和psycopg2(没有SQLAlchemy)。
查看功能:
@app.route('/editpositions/<row>', methods=['GET', 'POST'])
def editpositions_row(row):
conn = connect(host="localhost", user="postgres", dbname="portfoliotool", password="")
form = EditPositions()
if request.method == 'GET':
with conn.cursor() as cur:
sql = "SELECT isin, aantal FROM posities WHERE posnr = %(row)s"
cur.execute(sql, {"row": row})
data_pos = cur.fetchall()
form.isin.data = data_pos[0][0]
form.aantal.data = data_pos[0][1]
return render_template('editpositions.html', form=form)
html模板:
{% block app_content %}
<<div class="container">
<div class="row justify-content-center">
<div class="col">
<h1>Pas posities aan</h1>
<form action="" method="post" novalidate>
{{ form.hidden_tag() }}
<p>
{{ form.isin.label }}<br>
{{ form.isin(size=32) }}
</p>
<p>
{{ form.aantal.label }}<br>
{{ form.aantal(size=32) }}
<p>{{ form.submit() }}</p>
</form>
</div>
</div>
</div>
{% endblock %}
页面和表单呈现良好,但是未填充两个字段。我在控制台中测试了sql查询,它返回了所需的结果,所以我想我缺少了一些东西。有人可以帮我吗?
答案 0 :(得分:0)
最终我找到了问题。这里提到的代码是正确的。问题是“行”由于其他地方的错误而没有获得正确的值。
@app.route('/editpositions/<row>', methods=['GET', 'POST'])