python flask bootstrap pagination错误error 'url_args' is undefined

其中pagination.html不是我写的,是bootstrap的页面,我这些代码是从百度传课网->flask入门->第20节上视频第9分钟抄的,检查了几遍好像没抄错,可能是代码少了个参数,pagination.html里面的内容也看不懂

第1个回答  2018-05-10

今天我也遇到了这个问题,现已解决,解决方法如下:

    创建一个单独分页相关的macros  我们取名为mac.html

内容如下

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

然后在index.html做修改

    增加 

{% import "mac.html" as macros %}

2.将你的{% if paginition %} ...块做如下修改

{% if pagination %}
    <div class="pagination">
    {{ macros.pagination_widget(pagination,'.index') }}
    </div>
{% endif %}

这样就ok了

相似回答