在Flask中根据用户选择的按钮显示不同表中的数据,可以通过以下步骤实现:
from flask import Flask, render_template, request
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = '数据库连接地址'
db = SQLAlchemy(app)
class Table1(db.Model):
# 表1的模型定义
class Table2(db.Model):
# 表2的模型定义
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
selected_table = request.form.get('table') # 获取用户选择的按钮值
if selected_table == 'table1':
data = Table1.query.all() # 查询表1的数据
elif selected_table == 'table2':
data = Table2.query.all() # 查询表2的数据
else:
data = [] # 其他情况下的默认数据
else:
data = [] # 默认情况下的默认数据
return render_template('index.html', data=data)
<!DOCTYPE html>
<html>
<head>
<title>显示不同表中的数据</title>
</head>
<body>
<form method="POST" action="/">
<input type="radio" name="table" value="table1"> 表1
<input type="radio" name="table" value="table2"> 表2
<input type="submit" value="提交">
</form>
<table>
<thead>
<tr>
<th>列1</th>
<th>列2</th>
<!-- 更多列 -->
</tr>
</thead>
<tbody>
{% for item in data %}
<tr>
<td>{{ item.column1 }}</td>
<td>{{ item.column2 }}</td>
<!-- 更多列 -->
</tr>
{% endfor %}
</tbody>
</table>
</body>
</html>
以上代码假设你已经正确安装了Flask和SQLAlchemy,并且已经创建了两个表(Table1和Table2)以及它们的模型定义。在用户访问应用程序的根路径时,会显示一个表单,用户可以选择要显示的表。根据用户的选择,从相应的表中查询数据,并在页面上显示出来。
请注意,以上代码只是一个简单的示例,实际应用中可能需要根据具体需求进行适当的修改和优化。另外,为了安全起见,建议在处理用户输入时进行适当的验证和过滤,以防止潜在的安全风险。
领取专属 10元无门槛券
手把手带您无忧上云