flask中jinjia2分页

在做一起玩耍移动版的时候,flask分页弄了一个小时,现将代码分享出来

效果如下:

flask中jinjia2分页


视图代码:

@mobile.route('/posts')
def post_list():
    
    category = request.args.get('category', '')
    page_size = int(request.args.get('page_size', 3))
    page_index = int(request.args.get('page',1))
    
    posts_page = Post.query.order_by(-Post.pub_time).paginate(page_index, per_page=page_size, error_out=True)
    return render_template('list.html',error='',posts_page = posts_page)


 模板代码:

<ul class="pagenum">
	<li>
	{% if posts_page.has_prev %}
	<a href="{{ url_for('mobile.post_list', page = posts_page.prev_num) }}">上一页</a>
	{% else %}
		上一页
	{% endif %}</li>
		
        {%- for page in posts_page.iter_pages() %}
          <li>
          {% if page %}
            {% if page != posts_page.page %}
              <a href="{{ url_for('mobile.post_list', page=page) }}">{{ page }}</a>
            {% else %}
              <span class="page-number current">{{ page }}</span>
            {% endif %}
          {% else %}
            <span class=ellipsis>…</span>
          {% endif %}
          </li>
        {%- endfor %}
     <li>
	{% if posts_page.has_next %}
	<a href="{{ url_for('mobile.post_list', page = posts_page.next_num) }}">下一页 </a>
	{% else %}
		下一页 
	{% endif %}
	</li>
	</ul>















你可能感兴趣的:(flask中jinjia2分页)