Python 2.7 在flask中,如何查询数据使用selectfield作为条件并分页显示

Python 2.7 在flask中,如何查询数据使用selectfield作为条件并分页显示,python-2.7,flask,flask-sqlalchemy,Python 2.7,Flask,Flask Sqlalchemy,我想查询数据,使用selectfield作为条件,然后在html中显示结果并使用分页。 我的问题是,当我显示数据时,第一个可以正常显示,但当我单击下一页时,selectfield为none,数据无法显示。 单击下一页时,我应该如何保持selectfield?您的视图应该接受一个整数,以允许传递当前数据。以下是一个例子: @app.route('/view/<int:page>',methods=['GET']) def view(page=1): if request.metho

我想查询数据,使用selectfield作为条件,然后在html中显示结果并使用分页。 我的问题是,当我显示数据时,第一个可以正常显示,但当我单击下一页时,selectfield为none,数据无法显示。
单击下一页时,我应该如何保持selectfield?

您的视图应该接受一个整数,以允许传递当前数据。以下是一个例子:

@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)
@app.route('/view/',方法=['GET'])
def视图(第1页):
如果request.method==“POST”:
select=int(request.form.get('select'))
打印(选择)
每页=2
尝试:
users=User.query.order_by(User.email.asc()).paginate(选择,
每页=每页,
错误(out=False)
除名称错误外:
users=User.query.order_by(User.email.asc()).paginate(第页,
每页=每页,
错误(out=False)
返回呈现模板('view.html',users=users)
视图的外观如下所示:

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

欢迎
请选择
{users.items%中的用户为%s}
{{user.username}
{%endfor%}
去
{%if users.has_prev%}{%else%}较新的帖子{%endif%}
{%if users.has_next%}{%else%}以前的帖子{%endif%}

:谢谢。我可以像你分享的那样使用页码,我想查询数据我的问题是,当我使用页码并以selectfield作为条件查询我的数据时,第一页可以正常显示,但当我单击下一页时,selectfield为none,数据无法显示。单击下一页时,我应该怎么做才能保留selectfield?在呈现模板时,如何将selectfield存储在下一页的url中?@stamaimer,我将selectfield.data存储在下一页的url中,这很有效。谢谢