我有两个SQLite表。两者共享相同的“ID”主键。通过烧瓶我已经发送了所有信息(表1)我希望以表格格式显示到html。我想查询(表1)的“id”,并在点击一行时从(表2)中得到结果。
我看过sql.js(Javascript),但我确实知道这不是网络安全的。 我知道循环来自cur.fetchall()的另一个dicts列表也不是解决方案。
最简单的解决方案是以某种方式将“id”发送回python脚本并从那里查询。没有形式,不知道该怎么做。我已经研究过AJAX,但对我来说没有多大意义。
任何帮助将不胜感激
答案 0 :(得分:2)
“简单”方式(没有ajax)是在表1的每个条目旁边都有一个链接,指向包含表2中相关信息的新页面。示例:
@app.route('/table1')
def show_table1():
data = Table1.query.all()
return render_template('table1.html', data = data)
@app.route('/table2/<int:id>')
def show_table2(id):
item = Table2.query.get(id)
return render_template('table2.html', table2_item = item)
表1模板将显示元素列表,并为每个元素显示相关表2页面的链接:
{% for item in data %}
{{ item.name }} <a href="{{ url_for('show_table2', id = item.id) }}">Click for more information</a>
{% endfor %}
然后table2.html
只显示数据并提供一个返回表1页面的链接:
{{ table2_item.name }}
<a href="{{ url_for('show_table1') }}">Go back</a>
更复杂的方法是使用ajax在同一页面中完成所有这些操作,但为此你需要编写一些Javascript来动态地将数据插入到HTML文档中。
我希望这会有所帮助。