수색…


flask-sqlalchemy가있는 페이지 매김 경로 예제 페이지 매김

이 예에서는 경로의 매개 변수를 사용하여 페이지 번호를 지정합니다. 함수 매개 변수 page=1 에 기본값 1을 설정했습니다. 우리는 데이터베이스에 User 객체를 가지고 있으며 그것을 쿼리하여 내림차순으로 정렬하여 최신 사용자를 먼저 보여줍니다. 그런 다음 flask-sqlalchemy에서 query 개체의 paginate 메서드를 사용합니다. 그런 다음 render_template 을 렌더링하여 렌더링합니다.

@app.route('/users')
@app.route('/users/page/<int:page>')
def all_users(page=1):
    try:
        users_list = User.query.order_by(
            User.id.desc()
        ).paginate(page, per_page=USERS_PER_PAGE)
    except OperationalError:
        flash("No users in the database.")
        users_list = None

    return render_template(
        'users.html',
        users_list=users_list,
        form=form
    )

진자의 렌더링 매김

여기에서는 render_template 에 전달한 객체를 사용하여 페이지, 현재 활성 페이지 및 이전 / 다음 페이지로 이동할 수있는 경우 이전 및 다음 버튼을 표시합니다.

<!-- previous page -->
{% if users_list.has_prev %}
<li>
    <a href="{{ url_for('users', page=users_list.prev_num) }}">Previous</a>
</li>
{% endif %}

<!-- all page numbers -->
{% for page_num in users_list.iter_pages() %}
    {% if page_num %}
        {% if page_num != users_list.page %}
            <li>
                <a href="{{ url_for('users', page=page_num) }}">{{ page_num }}</a>
            </li>
        {% else %}
            <li class="active">
                <a href="#">{{ page_num }}</a>
            </li>
        {% endif %}
   {% else %}
       <li>
           <span class="ellipsis" style="white-space; nowrap; overflow: hidden; text-overflow: ellipsis">…</span>
       </li>
   {% endif %}
{% endfor %}

<!-- next page -->
{% if users_list.has_next %}
<li>
    <a href="{{ url_for('users', page=users_list.next_num) }}">Next</a></li>
{% endif %}
{% endif %}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow