亿万教师注册关于Flask分页渲染的题目

看F-W开辟这本书时,遇到了一个关于分页面渲染的题目
用于渲染分页的视图函数:
@main .route/,methods=[GET,POST]
def index:

form = PostForm
if current_user.canPermission.WRITE_ARTICLES and form.validate_on_submit:
    post=Postbody=form.body.data,author=current_user._get_current_object
    db.session.addpost
    return redirecturl_for.index
page=request.args.getpage,1,type = int
pagination=Post.query.order_byPost.timestamp.desc.paginatepage,per_page=current_app.config[FLASKY_POSTS_PER_PAGE],error_out=False
posts=pagination.items
return render_templateindex.html,form=form,posts=posts,pagination=pagination

config中的配置:

FLASKY_POSTS_PER_PAGE=os.environ.getFLASKY_POSTS_PER_PAGE or 20

当我未设置FLASKY_POSTS_PER_PAGE时,可以统统正常的表现分页数据,并且在URL后添加?page=x,能相应的表现x页的posts,并且因此默许情况下per_page=20表现的;
当我在情况中设置了FLASKY_POSTS_PER_PAGE=20时,localhost主页发作错误,表现ValueError: invalid literal for int with base 10: 并且,在添加?page=2时可以表现20篇的posts,而在之后?page=3,4,5….等一系列均是空列表了。
这是为什么?
关于ValueError的十分这一部分,per_page应该传入是int型参数吧?current_app.config[xxx]失掉的是字符串,我将代码改为:pagination=Post.query.order_byPost.timestamp.desc.paginatepage,per_page=intcurrent_app.config[FLASKY_POSTS_PER_PAGE],error_out=False后,就能正常的拜访分页界面了。
但为什么没有加int的情况下,拜访除主页外可以告成,并且除第二页外均没有post表现

不知楼主能否开了virtualenv假造情况,另有楼主是什么零碎下运转,由于windows零碎下我在情况中设置不了FLASKY_POSTS_PER_PAGE=20,以是我都是直接写的,不在情况下设置。目测楼主题目出如今你这句话当中“当我在情况中设置了FLASKY_POSTS_PER_PAGE=20时”

(看完/读完)这篇文章有何感想! 亿万先生注册的分享…

发表评论

姓名 *
电子邮件 *
站点