使用flask框架,完成前端输入名称,后端查询数据库,根据名称返回数据
时间: 2023-05-30 17:07:30 浏览: 305
以下是一个简单的示例代码:
# 导入必要的模块
from flask import Flask, render_template, request
import sqlite3
# 创建Flask应用程序
app = Flask(__name__)
# 定义数据库文件路径
db_path = 'test.db'
# 定义查询函数
def query_data(name):
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
cursor.execute("SELECT * FROM users WHERE name=?", (name,))
data = cursor.fetchall()
cursor.close()
conn.close()
return data
# 定义路由和视图函数
@app.route('/')
def index():
return render_template('index.html')
@app.route('/search', methods=['POST'])
def search():
name = request.form['name']
data = query_data(name)
return render_template('result.html', data=data)
# 运行应用程序
if __name__ == '__main__':
app.run()
在上面的代码中,我们首先导入了必要的模块,包括Flask、render_template、request和sqlite3。
然后,我们创建了一个Flask应用程序,并定义了数据库文件路径。
接下来,我们定义了一个名为query_data的函数,用于查询数据库中的数据。该函数接受一个名称作为参数,并使用sqlite3模块连接到数据库,然后执行一个SELECT语句来查询名称匹配的行。最后,该函数返回查询结果。
然后,我们定义了两个路由和视图函数。第一个路由是'/',用于显示一个简单的HTML表单,要求用户输入名称。第二个路由是'/search',用于接收表单提交的数据,调用query_data函数查询数据库,并将查询结果渲染到一个新的HTML页面中。
最后,我们运行了该应用程序,并使用默认的主机和端口号进行了绑定。
阅读全文