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