私はsqlite dbを照会するフラスコアプリを持っています:
@app.route('/<subject_id>')
def subject_id_lookup(subject_id):
entries = query_db('select visitdt, cvnotes from exam where id = ?',
[subject_id], one=True)
return render_template('show_results.html', entries = entries)
ドキュメントからほとんど変更されていないフラスコ関数を使用していますquery_db()
def query_db(query, args=(), one = False):
"""Queries the database and returns a list of dictionaries"""
cur = g.db.execute(query, args)
rv = [dict((cur.description[idx][0], value)
for idx, value in enumerate(row)) for row in cur.fetchall()]
return (rv[0] if rv else None) if one else rv
最後に、私の show_results.html ファイルは次のとおりです。
{% extends "layout.html" %}
{% block body %}
<ul class=entries>
{% for entry in entries %}
<li><h2>{{ entry }}</h2>
<br>
{% else %}
<li><em>No entry here</em>
{% endfor %}
</ul>
{% endblock %}
クエリは正常に実行されますが、変数名visitdt
& 以外は何も返されませんcvnotes
。上記の行を に変更すると<li><h2>{{ entry.cvnotes }}</h2>
、何も返されません。subject_id_lookup()
関数の結果を表示するようにクエリを変更するにはどうすればよいですか?