2017-03-31 3 views
0

データを照会し、selectfieldを条件として使用し、結果をHTMLで表示してページを使用します。 私の質問は私が私のデータを表示するとき、最初は正常に表示することができますが、next_pageをクリックすると、selectfieldは無く、データは表示されません。 next_pageをクリックしたときにセレクトフィールドを維持するにはどうすればよいですか?フラスコでは、データを照会する方法は、selectfieldを条件として使用し、ページ設定を使用して表示します。

+0

してください[編集]を。 – davidism

+0

テンプレートをレンダリングするときに、次のページのURLにselectfieldを格納するのはどうですか? – stamaimer

+0

@ stamaimer、selectfield.dataを次のページのURLに保存します。ありがとう –

答えて

0

現在のデータを渡すためには、ビューで整数を受け入れる必要があります。以下は例です:

@app.route('/view/<int:page>',methods=['GET']) 
def view(page=1): 
    if request.method == 'POST': 
    select = int(request.form.get('select')) 
    print(select) 
    per_page = 2 
    try: 
    users = User.query.order_by(User.email.asc()).paginate(select, 
                  per_page=per_page, 
                  error_out=False) 
    except NameError: 
    users = User.query.order_by(User.email.asc()).paginate(page, 
                  per_page=per_page, 
                  error_out=False) 
    return render_template('view.html',users=users) 

ビューはこのようなものになります:[MCVE]が含まれるように

<html> 
    <head>Welcome</head> 
    <body> 
<form method="POST" action="{{ url_for('view', page=users.prev_num + 1) }}"> 
    <div> 
    <div> 
     <span>Please select</span> 
     <select name="select"> 
      {% for user in users.items %} 
      <option value="{{ user.id }}">{{ user.username }}</option> 
      {% endfor %} 
     </select> 
    </div> 
    <button type="submit">Go</button> 
    </div> 
</form> 
{% if users.has_prev %}<a href="{{ url_for('view', page=users.prev_num) }}">&lt;&lt; Newer users</a>{% else %}&lt;&lt; Newer posts{% endif %} | 
{% if users.has_next %}<a href="{{ url_for('view', page=users.next_num) }}">Older users &gt;&gt;</a>{% else %}Older posts &gt;&gt;{% endif %} 

    </body> 
</html> 
+0

:ありがとうございます。私はあなたのような頁を使用することができます、私はデータを照会するためにwangを –

+0

あなたは大歓迎です。私はこれがあなたのために働くことを望みます。 – bernie

+0

私の質問は、私がpaginageを使用して、条件フィールドとしてselectfieldでデータを照会するときです。最初のページは正常に表示されますが、next_pageをクリックするとselectfieldはなく、データは表示されません。 next_pageをクリックしてselectfieldを保持するにはどうすればよいですか? –

関連する問題