Python 2.7 在flask中,如何查询数据使用selectfield作为条件并分页显示
我想查询数据,使用selectfield作为条件,然后在html中显示结果并使用分页。 我的问题是,当我显示数据时,第一个可以正常显示,但当我单击下一页时,selectfield为none,数据无法显示。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?您的视图应该接受一个整数,以允许传递当前数据。以下是一个例子:
@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) }}"><< Newer users</a>{% else %}<< Newer posts{% endif %} |
{% if users.has_next %}<a href="{{ url_for('view', page=users.next_num) }}">Older users >></a>{% else %}Older posts >>{% 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中,这很有效。谢谢