可以先创建数据库编一点数据
如图:
第一步先安装flask和MySQL
可以在Python左下角的软件包选项中搜索flask进行安装
MySQL前面的文章里面有
前置工作完成后可以开始操作
第一步导入
第二步连接数据库
def get_connection():
try:
# 调用 connect() 配置连接详细信息
connection = mysql.connector.connect(
host="本地接口名称",
user="用户名",
password="密码",
database="要连接的表",
)
except mysql.connector.Error as err:
print(err)
return connection
第三步新建一个文件用来装html文件
第四步开始进行具体的操作
@app.route('/list')
def listdata():
"""
处理文章列表分页请求的路由函数
支持通过URL参数控制分页大小和当前页码
返回包含分页数据的HTML页面
"""
try:
# 获取分页参数(默认第1页,每页2条)
page = request.args.get('page', 1, type=int)
page_size = request.args.get('page_size', 2, type=int)
# 建立数据库连接(假设get_connection()已实现)
print('连接成功')
connection = get_connection()
cursor = connection.cursor(dictionary=True) # 字典格式结果集
# 计算分页起始位置(分页核心逻辑)
start = (page - 1) * page_size
try:
# 第一步:获取所有文章(可能用于其他用途,如总数校验)
query = "SELECT * FROM article_list"
cursor.execute(query)
articles = cursor.fetchall() # 获取完整数据集
# 第二步:执行分页查询(实际用于前端展示)
sql = 'SELECT * FROM article_list LIMIT %s, %s'
cursor.execute(sql, (start, page_size))
result = cursor.fetchall() # 获取当前页数据
# 第三步:计算分页总数
count_sql = 'SELECT COUNT(tid) AS total FROM article_list'
cursor.execute(count_sql)
count_result = cursor.fetchone()
total_records = count_result['total']
total_pages = math.ceil(total_records / page_size)
print(f"总页数:{total_pages}") # 调试输出
except mysql.connector.Error as err:
print(f"数据库操作错误:{err}") # 记录错误信息
except mysql.connector.Error as err:
print(f"连接错误:{err}") # 记录连接异常
# 渲染模板时传递的参数说明:
# articles: 完整数据集(可能用于其他功能)
# result: 当前页数据
# total_records: 总记录数
# total_pages: 总页数
# page_size: 每页显示数量
# page: 当前页码
return render_template(
'list.html',
articles=articles,
list=result,
total_records=total_records,
total_pages=total_pages,
page_size=page_size,
page=page,
)
然后HTML界面就是使用下面代码的格式把数据渲染出来
{% for article in 传过来的参数 %}
{{article}}
{% endfor %}