如何在烧瓶中进行分页

How to do pagination in flask

**python code:** 

from flask import Flask, render_template, request, redirect, url_for, session ,flash
from flask_mysqldb import MySQL
import MySQLdb.cursors
import re
app = Flask(__name__)

app.secret_key = 'your secret key'

app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = ''
app.config['MYSQL_DB'] = 'details'

mysql = MySQL(app)

@app.route('/home')
def home():
    if 'loggedin' in session:
        cur = mysql.connection.cursor()
        cur.execute("SELECT  * FROM ml_process_status")
        data = cur.fetchall()

        return render_template('home.html', username=session['username'], items=data)

    return redirect(url_for('login'))

phpmyadmin mysql 数据库中有 50 行。是否有任何解决方案可以在第一页中仅显示 10 行,而在其他页面中显示接下来的 10 行。我有 select * 查询来显示页面中的所有行

为此,您必须将参数传递给您的端点(表示要显示的页面),并通过在您的 sql声明。

示例:

@app.route('/home')
def home():
    if 'loggedin' in session:
        page = request.args.get('page', 1)
        elem_to_display = 10
        offset = (page - 1) * elem_to_display
        cur = mysql.connection.cursor()
        cur.execute("SELECT  * FROM ml_process_status LIMIT %s OFFSET %s", (elem_to_display, offset,))
        data = cur.fetchall()

        return render_template('home.html', username=session['username'], items=data)

    return redirect(url_for('login'))