2017-03-31 1 views
0

데이터를 쿼리하고 selectfield를 조건으로 사용하여 html로 결과를 표시하고 페이지를 사용하고 싶습니다. 내 질문에 내 데이터를 표시 할 때 첫 번째 정상적으로 표시 할 수 있지만 next_page 클릭 할 때 selectfield 없음 및 데이터를 표시 할 수 없습니다. next_page를 클릭 할 때 selectfield를 유지하려면 어떻게해야합니까?플라스크에서 데이터를 쿼리하는 방법 selectfield를 조건으로 사용하고 페이지 매김을 사용하여 표시

+0

[편집]는 [mcve] 포함하도록하십시오

@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) 

뷰는 다음과 같이 보일 것입니다. – davidism

+0

템플릿을 렌더링 할 때 다음 페이지의 url에 selectfield를 저장하는 방법은 무엇입니까? – stamaimer

+0

@ stamaimer, selectfield.data를 다음 페이지의 URL에 저장하면 작동합니다. 감사합니다. –

답변

0

현재 데이터를 전달할 수 있도록보기에서 정수를 허용해야합니다. 아래의 예는 다음과 같습니다

<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

: 감사합니다. 너와 같은 쪽지를 공유 할 수있어 데이터를 질의 할 때가됐다. –

+0

천만에. 나는 이것이 당신을 위해 일하기를 바랍니다. – bernie

+0

제 질문은 paginage를 사용하고 acondition으로 selectfield를 사용하여 데이터를 쿼리 할 때 첫 번째 페이지가 정상적으로 표시 될 수 있지만 next_page를 클릭하면 selectfield가없고 데이터가 표시되지 않습니다. next_page를 클릭 할 때 selectfield를 유지하려면 어떻게해야합니까? –

관련 문제