Django 가 간단 한 페이지 기능 을 실현 하 는 방법 에 대한 상세 한 설명

이 글 의 실례 는 Django 가 간단 한 페이지 나 누 기 기능 을 실현 하 는 방법 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
django 의 제3자 모듈 사용django-pure-pagination
설치 모듈:

pip install django-pure-pagination

'purepagination'을 settings.py 파일 에 추가 합 니 다.

INSTALLED_APPS = (
  ...
  'pure_pagination',
)

view.py 파일 에서

from django.shortcuts import render
rom .models import mymodel
from pure_pagination import Paginator, EmptyPage, PageNotAnInteger
def NewsList(request):
  all_news = mymodel.objects.all().order_by('-add_time')
  #     
  try:
    page = request.GET.get('page', 1)
  except PageNotAnInteger:
    page = 1
  p = Paginator(all_news, 3, request=request)
  news = p.page(page)
  return render(request, 'rdxw.html', {'all_news': news})

template.py 파일 에서 view 가 전달 하 는 인자'allnews'필요 플러스'.objectlist'

{% extends 'base.html' %}
{% block content %}
<ul>
{% for new in all_news.object_list %}
  <li>{{new.content}}</li>
{% endblock %}
</ul>

페이지 넘 기 는 부분:

<div class="pageturn">
  <ul class="pagelist">
    {% if all_news.has_previous %}
      <li class="long"><a href="?{{ all_news.previous_page_number.querystring }}" rel="external nofollow" >   </a></li>
    {% endif %}
    {% for page in all_news.pages %}
      {% if page %}
        {% ifequal page all_news.number %}
          <li class="active"><a href="?{{ page.querystring }}" rel="external nofollow" rel="external nofollow" >{{ page }}</a></li>
        {% else %}
          <li><a href="?{{ page.querystring }}" rel="external nofollow" rel="external nofollow" class="page">{{ page }}</a></li>
        {% endifequal %}
      {% else %}
        <li class="none"><a href="">...</a></li>
      {% endif %}
    {% endfor %}
    {% if all_news.has_next %}
      <li class="long"><a href="?{{ all_news.next_page_number.querystring }}" rel="external nofollow" >   </a></li>
    {% endif %}
  </ul>
</div>

스타일 은 문서 가 제공 하 는 것 보다 훨씬 간소화 되 어 사용 하기에 편리 하 다.

.pageturn .pagelist {
  display: table-cell;
  vertical-align: middle;
  overflow: hidden;
}
.pageturn li {
  width: 30px;
  height: 30px;
  line-height: 30px;
  margin-left: 10px;
  float: left;
  text-align: center;
}
.pageturn li:first-child {
  margin-left: 0;
}
.pageturn li:hover a, .pageturn .active a {
  background: #717171;
  color: #fff;
  border-color: #eaeaea;
}
.pageturn a {
  border: 1px solid #eaeaea;
  display: block;
  height: 28px;
  color: #6c6c6c;
}
.pageturn .long {
  width: 100px;
}
.pageturn .none a {
  border: 0;
}
.pageright {
  float: right;
  width: auto;
  display: inline;
  clear: none;
  margin-top: 10px;
}

더 많은 파 이 썬 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기