如何使用url中的变量

时间:2017-08-28 21:04:10

标签: python flask

我正在尝试使用当前网址中的变量来计算下一页的编号。

这是我的路线:

@app.route('/feed')
@app.route('/feed/<int:page>')
@is_logged_in
def feed(page=0):
    my_feed = mongo.db.feed
    posts = my_feed.find({}).skip(50*page).limit(50)
    return render_template('feed.html', posts=posts)

现在这是我的模板:

<a href="{{ url_for('feed', page=page+1) }}">Next</a>

显然,page=page+1不起作用,但它展示了我想要做的事情。我只需要在当前页码中添加1,这样我的下一个链接就会将用户带到下一页。我尝试使用request.args.get('page'),但它返回None

如何获取当前页码并在我的url_for功能中使用它?

1 个答案:

答案 0 :(得分:1)

  

显然,page=page+1不起作用

是的,只要您将page局部变量传递给模板,它就可以正常工作:

return render_template('feed.html', posts=posts, page=page)

但您也可以通过request.view_args mapping

访问路线变量
<a href="{{ url_for('feed', page=request.view_args['page'] + 1) }}">Next</a>