在Flask Web应用中使用下拉列表查询SQLite数据库可以通过以下步骤实现:
from flask import Flask, render_template, request
import sqlite3
app = Flask(__name__)
# 配置数据库连接
app.config['DATABASE'] = 'path_to_your_database_file'
def get_db_connection():
conn = sqlite3.connect(app.config['DATABASE'])
conn.row_factory = sqlite3.Row
return conn
@app.route('/', methods=['GET', 'POST'])
def index():
# 获取数据库连接
conn = get_db_connection()
cursor = conn.cursor()
if request.method == 'POST':
# 获取下拉列表的值
selected_value = request.form.get('select_option')
# 执行SQL查询
cursor.execute("SELECT * FROM your_table WHERE column_name = ?", (selected_value,))
results = cursor.fetchall()
else:
# 默认加载页面时执行的SQL查询
cursor.execute("SELECT * FROM your_table")
results = cursor.fetchall()
# 关闭数据库连接
cursor.close()
conn.close()
return render_template('index.html', results=results)
if __name__ == '__main__':
app.run()
<!DOCTYPE html>
<html>
<head>
<title>Flask Web App</title>
</head>
<body>
<form method="POST" action="{{ url_for('index') }}">
<select name="select_option">
<option value="value1">Option 1</option>
<option value="value2">Option 2</option>
<option value="value3">Option 3</option>
</select>
<input type="submit" value="Submit">
</form>
{% if results %}
<table>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
</tr>
{% for row in results %}
<tr>
<td>{{ row['column1'] }}</td>
<td>{{ row['column2'] }}</td>
<td>{{ row['column3'] }}</td>
</tr>
{% endfor %}
</table>
{% endif %}
</body>
</html>
path_to_your_database_file
为你的SQLite数据库文件的路径。这个例子中,用户选择下拉列表中的选项后,提交表单,Flask应用会根据用户选择的值执行对应的SQL查询,并将结果展示在网页中。你可以根据需要修改SQL查询语句、下拉列表的选项和对应的值、数据库表名和列名等内容。
关于Flask、SQLite和HTML模板的详细介绍,你可以参考以下链接:
领取专属 10元无门槛券
手把手带您无忧上云