학습 과정에서 우리는 이런 문제에 직면하게 됩니다. 즉, 학습 과정에서 페이징이 필요하다는 것을 알게 될 것입니다. 여기서는 책에서 언급한 페이징을 소개하겠습니다.
@app.route('/',methods=['GET']) @app.route('/<int:page>') def home(page=1): pagination=Post.query.order_by(Post.publish_date.desc()).paginate(page, per_page=10,error_out=False) posts = pagination.items link,tuijian_post,fenlei=get_tui_link() return render_template('home1.html', posts=posts, pagination=pagination, tuijian_post=tuijian_post,fenleis=fenlei, links=link)
이것은 데이터베이스에서 읽은 페이징 데이터입니다. 그러면 어떻게 페이지를 매길까요? 책에 나와 있는 내용을 살펴보겠습니다.
그런 다음 페이징 관련 정보를 저장하기 위해 별도의 페이지를 사용해야 합니다. .
{% macro pagination_widget(pagination, endpoint) %} <ul class="pagination"> <li{% if not pagination.has_prev %} class="disabled"{% endif %}> <a style='background-color: lightgoldenrodyellow;color: brown;' href="{% if pagination.has_prev %}{{ url_for(endpoint, page = pagination.page - 1, **kwargs) }}{% else %}#{% endif %}"> « </a> </li> {% for p in pagination.iter_pages() %} {% if p %} {% if p == pagination.page %} <li class="active"> <a style='background-color: lightgoldenrodyellow;color: brown;' href="{{ url_for(endpoint, page = p, **kwargs) }}">{{ p }}</a> </li> {% else %} <li> <a style='background-color: lightgoldenrodyellow;color: brown;' href="{{ url_for(endpoint, page = p, **kwargs) }}">{{ p }}</a> </li> {% endif %} {% else %} <li class="disabled"><a href="#">…</a></li> {% endif %} {% endfor %} <li{% if not pagination.has_next %} class="disabled"{% endif %}> <a style='background-color: lightgoldenrodyellow;color: brown;' href="{% if pagination.has_next %}{{ url_for(endpoint, page = pagination.page + 1, **kwargs) }}{% else %}#{% endif %}"> » </a> </li> </ul> {% endmacro %}
어떻게 사용하나요
{% import "mac.html" as macros %}
루프 뒤에 다음
을 추가하면 효과는 다음과 같습니다
위 내용은 플라스크 페이징에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!