Flask实战第60天:帖子分页技术实现

Posted sellsa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask实战第60天:帖子分页技术实现相关的知识,希望对你有一定的参考价值。

编辑manage.py,添加测试帖子

@manager.command
def create_test_post():
    for x in range(1, 100):
        title = 标题{}.format(x)
        content = 内容:{}.format(x)
        board = BoardModel.query.first()
        author = FrontUser.query.first()
        post = PostModel(title=title, content=content)
        post.board = board
        post.author = author
        db.session.add(post)
        db.session.commit()
    print(测试帖子添加成功)

运行

python manage.py create_test_post

技术分享图片

在 flask框架中,我们可以使用Flask Paginate插件来实现分页

https://pythonhosted.org/Flask-paginate/

安装插件

pip install flask-paginate

编辑配config.py,配置每页显示的帖子数

#flask-paginate的相关配置
PER_PAGE = 6   #每页显示6篇帖子

编辑首页的视图函数,编辑front.views.py

...
from flask_paginate import Pagination, get_page_parameter


#get_page_parameter可以获取到当前页

技术分享图片

现在刷新首页只会显示6篇帖子了

技术分享图片

实现翻页

编辑front_index.html,在帖子下面加上

技术分享图片

刷新页面,发现没有样式

技术分享图片

解决这个问题,需要在实例化Pagination加上指定 bootstrap版本的参数即可

技术分享图片

技术分享图片

以上是关于Flask实战第60天:帖子分页技术实现的主要内容,如果未能解决你的问题,请参考以下文章

Flask实战第65天:帖子按照发布时间和评论数量等排序

Flask实战第37天:服务器权限验证

Flask实战第40天:图片验证码生成技术

Flask实战第67天:Flask+Celery实现邮件和短信异步发送

Flask实战第48天:首页轮播图实现

9Flask实战第9天:类视图