下面是Python Flask框架实现查询数据库并显示数据的完整攻略。
准备工作
-
安装Python和Flask框架
-
安装数据库(这里以MySQL为例)并创建相应的数据库和表
-
安装MySQL数据库连接工具(这里以pymysql库为例)
示例1:查询数据库并显示数据
步骤1:导入库
from flask import Flask
import pymysql
步骤2:连接数据库
app = Flask(__name__)
# 连接数据库
db = pymysql.connect(host='localhost', user='root', password='password', database='database_name', port='3306')
# 获取游标
cursor = db.cursor()
步骤3:定义路由和视图函数
@app.route('/list/')
def list():
sql = "SELECT * FROM table_name WHERE condition"
cursor.execute(sql)
data = cursor.fetchall()
return render_template('list.html', data=data)
步骤4:编写HTML模板文件
<!DOCTYPE html>
<html>
<head>
<title>查询结果</title>
</head>
<body>
<table border="1">
<tr>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
</tr>
{% for item in data %}
<tr>
<td>{{ item[0] }}</td>
<td>{{ item[1] }}</td>
<td>{{ item[2] }}</td>
</tr>
{% endfor %}
</table>
</body>
</html>
步骤5:启动应用程序
if __name__ == '__main__':
app.run()
示例2:查询数据库并显示数据(分页)
步骤1:导入库
from flask import Flask, render_template, request
import pymysql
步骤2:连接数据库
app = Flask(__name__)
db = pymysql.connect(host='localhost', user='root', password='password', database='database_name', port='3306')
cursor = db.cursor()
步骤3:定义路由和视图函数
@app.route('/')
def index():
# 获取当前页码,默认为第一页
page = request.args.get('page', 1, type=int)
# 每页显示的数量
per_page = 2
# 起始行
start_row = (page - 1) * per_page
# 查询数据
sql = "SELECT * FROM table_name WHERE condition LIMIT %s, %s"
cursor.execute(sql, (start_row, per_page))
data = cursor.fetchall()
# 查询总记录数
cursor.execute("SELECT count(*) FROM table_name WHERE condition")
total = cursor.fetchone()[0]
# 计算总页数
total_page = (total + per_page - 1) // per_page
# 上一页页码
prev = page - 1 if page > 1 else None
# 下一页页码
next = page + 1 if page < total_page else None
return render_template('list.html', data=data, prev=prev, next=next)
步骤4:编写HTML模板文件
<!DOCTYPE html>
<html>
<head>
<title>查询结果</title>
</head>
<body>
<table border="1">
<tr>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
</tr>
{% for item in data %}
<tr>
<td>{{ item[0] }}</td>
<td>{{ item[1] }}</td>
<td>{{ item[2] }}</td>
</tr>
{% endfor %}
</table>
<p>
{% if prev %}
<a href="?page={{ prev }}">上一页</a>
{% endif %}
{% if next %}
<a href="?page={{ next }}">下一页</a>
{% endif %}
</p>
</body>
</html>
步骤5:启动应用程序
if __name__ == '__main__':
app.run()
以上就是Python Flask框架实现查询数据库并显示数据的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python flask框架实现查询数据库并显示数据 - Python技术站