Python实战计划学习笔记(18)分页器实战

步骤

  1. 构建models.py,通过mongoengine读取数据库,定义ArtiInfo类
from django.db import models
from mongoengine import *

# Create your models here.
class ArtiInfo(Document):
    price = StringField()
    title = StringField()
    pub_date = StringField()
    cates = ListField(StringField())
    look = StringField()
    area = ListField(StringField())
    url = StringField()

    meta = {'collection':'sample'}
  1. 在views中使用paginator库
from django.core.paginator import Paginator
from pure_layout_blog.models import ArtiInfo
  1. 在views.py中使用paginator
def index2(request):
    limit = 4
    arti_info = ArtiInfo.objects
    paginator = Paginator(arti_info,limit)  #按limit数进行分页
    page = request.GET.get('page',1)  #get URL中的page参数
    loaded = paginator.page(page)
    context = {
        'ArtiInfo':loaded    #页面中使用ArtiInfo作为当前页的对象
    }

    return render(request,'index2.html',context)
  1. 插入html代码
            <div align="middle">
                {% if ArtiInfo.has_previous %}
                    <a href="?page={{ ArtiInfo.previous_page_number }}"> 《《《Pre </a>
                {% endif %}
                <span>{{ ArtiInfo.number }} of {{ ArtiInfo.paginator.num_pages }} </span>
                {% if ArtiInfo.has_next %}
                    <a href="?page={{ ArtiInfo.next_page_number }}">Next》》》</a>
                {% endif  %}
            </div>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容