Python SQLAlchemy Paginator在html视图中访问下一页
我目前有一个问题,包括分页功能到我的项目。我知道有Python SQLAlchemy Paginator在html视图中访问下一页,python,html,pagination,sqlalchemy,Python,Html,Pagination,Sqlalchemy,我目前有一个问题,包括分页功能到我的项目。我知道有限制/偏移或收益率_per(),但我无法实现它们 我使用的是SQLAlchemy而不是SQLAlchemy,因此paginate不起作用 我的数据库没有那么大。我试图显示用户添加的房间。所以一个用户总共有20个房间,大用户可能有100个。我想在个人资料页面上显示最后插入的6个房间,如果有更多房间,应该有分页,如第2页显示下一个6等 我正在使用 我已经实现并测试了它,它工作得很好。它还根据我所处的页面限制了结果。但是使用HTML时如何访问下一页 以
限制/偏移
或收益率_per()
,但我无法实现它们
我使用的是SQLAlchemy而不是SQLAlchemy,因此paginate
不起作用
我的数据库没有那么大。我试图显示用户添加的房间。所以一个用户总共有20个房间,大用户可能有100个。我想在个人资料页面上显示最后插入的6个房间,如果有更多房间,应该有分页,如第2页显示下一个6等
我正在使用
我已经实现并测试了它,它工作得很好。它还根据我所处的页面限制了结果。但是使用HTML时如何访问下一页
以下是python代码:
@app.route("/user/logged_in")
@login_required
@check_confirmed
def logged_in():
if current_user.email_verified:
users_room = db_session.query(Zimmer).filter_by(users_id=current_user.id).order_by(desc("id"))
paginator = Paginator(users_room, 2)
for page in paginator:
print "page number of current page in iterator", page.number
print "this is a list that contains the records of current page", page.object_list
return render_template('logged_in.html', paginator=paginator)
return redirect(url_for('unconfirmed'))
这里是风景。解决方案一定在这里的某个地方。我可以通过页面访问页面。上一页\u页码
或页面。下一页\u页码
。但在文档中没有关于如何在视图中执行此操作的示例
<div class="user-rooms">
<h2> Ihre Zimmer </h2>
{% for page in paginator %}
{% if page.number == 1 % }
{% for zimmer in page.object_list %}
{% if zimmer.users_id == current_user.id %}
<div class="col-sm-4 col-xs-6 col-xxs-12 img-holder">
<img src="../static/userimg/{{ zimmer.hauptbild }}"/>
<div class="buttons-del-work"> <a href="{{ url_for('edit_room', the_room_id=zimmer.id) }}" class="btn mybtn-work"> Bearbeiten </a> <a href="{{ url_for('delete_room', the_room_id=zimmer.id) }}" class="btn mybtn-del"> Löschen </a> </div>
</div>
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
好的,这里有一个解决方案(它不使用SQLAlchemy Paginator包中的任何其他方法)。我自己编写了所有代码,但我仍然想知道如何使用page.next\u page\u number
等
解释:
首先,我在我的logged_in
函数中添加了一个参数(pagenumber
)。每次调用(“登录”,pagenumber=1)的url\u时,必须将pagenumber设置为默认值1
我创建了一个空列表,在其中我添加了所有页面.number
项,因此我知道我的结果集将有多少页面:
pages_list = []
for page in paginator:
pages_list.append(page.number)
我也在视图中使用pages\u列表
生成按钮,单击按钮可以查看下一页,我还将页码
赋予html视图:
return render_template('logged_in.html', paginator=paginator, pagenumber=pagenumber, pages_list=pages_list)
pagenumber = int(pagenumber)
这是HTML视图,我在其中显示了按钮:
<div class="col-xs-12">
{% for number in pages_list %}
<a href="{{ url_for('logged_in', pagenumber = number) }}"> {{ number }} </a>
{% endfor %}
</div>
解决方案代码
Python:
def logged_in(pagenumber):
if current_user.email_verified:
users_room = db_session.query(Zimmer).filter_by(users_id=current_user.id).order_by(desc("id"))
paginator = Paginator(users_room, 2)
pages_list = []
for page in paginator:
pages_list.append(page.number)
pagenumber = int(pagenumber)
return render_template('logged_in.html', paginator=paginator, pagenumber=pagenumber, pages_list=pages_list)
return redirect(url_for('unconfirmed'))
HTML:
艾尔·齐默
{paginator%中的页的%s}
{%if page.number==pagenumber%}
{page.object_list%中zimmer的百分比}
{%endfor%}
{%endif%}
{%endfor%}
{页数为%u列表%}
{%endfor%}
好的,这里有一个解决方案(不使用SQLAlchemy Paginator包中的任何其他方法)。我自己编写了所有代码,但我仍然想知道如何使用page.next\u page\u number
等
解释:
首先,我在我的logged_in
函数中添加了一个参数(pagenumber
)。每次调用(“登录”,pagenumber=1)的url\u时,必须将pagenumber设置为默认值1
我创建了一个空列表,在其中我添加了所有页面.number
项,因此我知道我的结果集将有多少页面:
pages_list = []
for page in paginator:
pages_list.append(page.number)
我也在视图中使用pages\u列表
生成按钮,单击按钮可以查看下一页,我还将页码
赋予html视图:
return render_template('logged_in.html', paginator=paginator, pagenumber=pagenumber, pages_list=pages_list)
pagenumber = int(pagenumber)
这是HTML视图,我在其中显示了按钮:
<div class="col-xs-12">
{% for number in pages_list %}
<a href="{{ url_for('logged_in', pagenumber = number) }}"> {{ number }} </a>
{% endfor %}
</div>
解决方案代码
Python:
def logged_in(pagenumber):
if current_user.email_verified:
users_room = db_session.query(Zimmer).filter_by(users_id=current_user.id).order_by(desc("id"))
paginator = Paginator(users_room, 2)
pages_list = []
for page in paginator:
pages_list.append(page.number)
pagenumber = int(pagenumber)
return render_template('logged_in.html', paginator=paginator, pagenumber=pagenumber, pages_list=pages_list)
return redirect(url_for('unconfirmed'))
HTML:
艾尔·齐默
{paginator%中的页的%s}
{%if page.number==pagenumber%}
{page.object_list%中zimmer的百分比}
{%endfor%}
{%endif%}
{%endfor%}
{页数为%u列表%}
{%endfor%}