共计 2860 个字符,预计需要花费 8 分钟才能阅读完成。
{# This file was part of Flask-Bootstrap and was modified under the terms of
its BSD License. Copyright (c) 2013, Marc Brinkmann. All rights reserved. #}
{% macro render_pager(pagination,
fragment='',
prev=('<span aria-hidden="true">←</span> Previous')|safe,
next=('Next <span aria-hidden="true">→</span>')|safe,
align='') -%}
<nav aria-label="Page navigation">
<ul class="pagination {% if align =='center'%}justify-content-center{% elif align =='right'%}justify-content-end{% endif %}">
<li class="page-item {% if not pagination.has_prev %}disabled{% endif %}">
<a class="page-link"
href="{{url_for(request.endpoint, page=pagination.prev_num, **kwargs) + fragment if pagination.has_prev else'#'}}">
{{prev}}
</a>
</li>
<li class="page-item {% if not pagination.has_next %}disabled{% endif %}">
<a class="page-link"
href="{{url_for(request.endpoint, page=pagination.next_num, **kwargs) + fragment if pagination.has_next else'#'}}">
{{next}}
</a>
</li>
</ul>
</nav>
{%- endmacro %}
{% macro _arg_url_for(endpoint, base) %}
{# calls url_for() with a given endpoint and **base as the parameters,
additionally passing on all keyword_arguments (may overwrite existing ones)
#}
{%- with kargs = base.copy() -%}
{%- do kargs.update(kwargs) -%}
{{url_for(endpoint, **kargs) }}
{%- endwith %}
{%- endmacro %}
{% macro render_pagination(pagination,
endpoint=None,
prev=('«')|safe,
next=('»')|safe,
size=None,
ellipses='…',
args={},
fragment='',
align=''
)-%}
{% if fragment != ''and not fragment.startswith('#') %}{% set fragment ='#' + fragment %}{% endif %}
{% with url_args = {} %}
{%- do url_args.update(request.view_args if not endpoint else {}),
url_args.update(request.args if not endpoint else {}),
url_args.update(args) -%}
{% with endpoint = endpoint or request.endpoint %}
<nav aria-label="Page navigation">
<ul class="pagination{% if size %} [PM](https://www.gendan5.com/wallet/PerfectMoney.html)pagination-{{size}}{% endif %} {% if align =='center'%}justify-content-center{% elif align =='right'%}justify-content-end{% endif %}"{{kwargs|xmlattr}}>
{# prev and next are only show if a symbol has been passed. #}
{% if prev != None -%}
<li class="page-item {% if not pagination.has_prev %}disabled{% endif %}">
<a class="page-link" href="{{_arg_url_for(endpoint, url_args, page=pagination.prev_num) if pagination.has_prev else'#'}}{{fragment}}">{{prev}}</a>
</li>
{%- endif -%}
{%- for page in pagination.iter_pages() %}
{% if page %}
{% if page != pagination.page %}
<li class="page-item">
<a class="page-link" href="{{_arg_url_for(endpoint, url_args, page=page) }}{{fragment}}">{{page}}</a>
</li>
{% else %}
<li class="page-item active">
<a class="page-link" href="#">{{page}} <span class="sr-only">(current)</span></a>
</li>
{% endif %}
{% elif ellipses != None %}
<li class="page-item disabled"><a class="page-link" href="#">{{ellipses}}</a></li>
{% endif %}
{%- endfor %}
{% if next != None -%}
<li class="page-item {% if not pagination.has_next %}disabled{% endif %}">
<a class="page-link" href="{{_arg_url_for(endpoint, url_args, page=pagination.next_num) if pagination.has_next else'#'}}{{fragment}}">{{next}}</a>
</li>
{%- endif -%}
</ul>
</nav>
{% endwith %}
{% endwith %}
{% endmacro %}
正文完