分页器的使用

---------------------------------------------------------views 文件

 

def  guest(request):

  guest_list=a

  paginator = Paginator(guest_list, 2)

   page = request.GET.get('page')

   try:

     contacts = paginator.page(page)

  except PageNotAnInteger:

     contacts = paginator.page(1)

  except EmptyPage:

    contacts = paginator.page(paginator.num_pages)

  return render(request, "test.html", {"guests": contacts})

 

其中a是获取数据库的数据,这里可以用MySQLdb库去获取查询需要的数据,把数据格式最后变成 [{'第一个数据:001'},{'第二个数据':002'}]

也可以使用操作数据库的方法获取a guest_list = Event.objects.all()

 

-------------------------------------------------------test.html 文件

 

 <table class="table table-striped">

    <thead> 

      <tr>

        <th>id</th><th>名称</th><th>状态</th>

      </tr>

    </thead>

    <tbody>

      {% for athlete in guests %}           这里是获取数据库查询出来数据展示的方法,如果不用分页,这里的guests 变量直接是 上面a 获取的数据放过来即可,即views 文件{"guests": guest_list})

                   <td>{{ athlete.id }}</td>

                   <td>{{ athlete.会议名称}}</td>

                   <td>{{ athlete.状态1}}</td>

                  <tr>

      {% endfor %}

        </tbody>

       </table>

 

 <!-- 列表分页器 -->

<div class="pagination">

  <span class="step-links">

   {% if guests.has_previous %}          guests,就是上面要展示的数据

<a href="?page={{ guests.previous_page_number }}">previous</a> {% endif %}

<span class="current">

Page {{ guests.number }} of {{ guests.paginator.num_pages }}.

     </span>

   {% if guests.has_next %}

<a href="?page={{ guests.next_page_number }}">next</a> {% endif %}

     </span>

   </div>

  </body>

 

 

原文地址:https://www.cnblogs.com/kaibindirver/p/11018765.html