“简单”的方法(无 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 文档。
我希望这有帮助。