2017-08-28 2 views
0

現在のURLから変数を使用して次のページの番号を計算しようとしています。ここURLから変数を使用する方法

@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

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> 
+0

ありがとう、Martijn Pieters。あなたが指摘したように、私はrender_templateでページ変数が不足していました。 – Theo

関連する問題