我搜索了很多。我得到的所有文章都包括 SQLAlchemy,但没有一篇涉及 mysql。我正在使用 flask,我在 mysql 中有一个数据库,我需要在页面中显示数据。像1000张图片,每页10张所以100页。 在 mysql 中,我们可以借助 limit 进行分页。路线可以是:
@app.route('/images', defaults={'page':1})
@app.route('/images/page/<int:page>')
我想问的是分页需要的就这些吗?还是我在这里忘记了重要的事情? 和 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())
获取前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())
也许这会有所帮助。
关于python - 使用 MySql 在 Flask 中分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24383223/