use*_*645 2 python mysql pagination flask
我对此进行了很多搜索。我得到的所有文章都包括 SQLAlchemy,但没有一篇涉及 mysql。我正在使用 Flask,我在 mysql 中有一个数据库,我需要在页面中显示数据。比如 1000 张图片,每页 10 张,所以 100 页。在mysql中我们可以借助limit来进行分页。路线可以是:
@app.route('/images', defaults={'page':1})
@app.route('/images/page/<int:page>')
Run Code Online (Sandbox Code Playgroud)
我想问的是,这就是分页所需的全部吗?或者我在这里忘记了一些重要的事情?mysql 语法是:
db = mysql.connect('localhost', 'root', 'password', 'img')
cursor = db.cursor()
cursor.execute('SELECT Id,Title,Img FROM image ORDER BY RAND() limit 20 offset 0;')
data = list(cursor.fetchall())
Run Code Online (Sandbox Code Playgroud)
获取前 20 个结果,但如何根据 pageno 获取下一个结果?Flask-paginate 库仅适用于 tSQLAlchemy。
尝试这个
@app.route('/images', defaults={'page':1})
@app.route('/images/page/<int:page>')
def abc(page):
perpage=20
startat=page*perpage
db = mysql.connect('localhost', 'root', 'password', 'img')
cursor = db.cursor()
cursor.execute('SELECT Id,Title,Img FROM image limit %s, %s;', (startat,perpage))
data = list(cursor.fetchall())
Run Code Online (Sandbox Code Playgroud)
也许这会有所帮助。
| 归档时间: |
|
| 查看次数: |
9799 次 |
| 最近记录: |