1、初始项目,参考python-Django原生分页方式
2、在view.py中编写如下代码:
from django.core.paginator import Paginator,PageNotAnInteger,EmptyPage
#Django分页
def index2_view(request):
#获取当前页码数
num = request.GET.get('num',1)
n = int(num)
#查询所有数据
movies = Movie.objects.all()
#创建分页器对象
pager = Paginator(movies,20)
#获取当前页的数据
try:
perpage_data = pager.page(n)
except PageNotAnInteger:
#返回第一页的数据
perpage_data = pager.page(1)
except EmptyPage:
#返回最后一页的数据
perpage_data = pager.page(pager.num_pages)
return render(request,'index01.html',{'pager':pager,'perpage_data':perpage_data})
如图:
3、注意请求的路径是否更改,如图:
4、编写前端的html代码:
<div id="content" >
<ul class="clearfix">
{% for movie in perpage_data %}
<li>
<a href="{{ movie.mlink }}"><img src="{{ movie.mimg }}"/></a>
<h1 class="h1">{{ movie.mname }}</h1>
<span class="tip">{{ movie.mdesc }}</span>
</li>
{% endfor %}
</ul>
</div>
<div>
{% if perpage_data.has_previous %}
<a href="/movie/index/?num={{ perpage_data.previous_page_number }}">上一页</a>
{% endif %}
{% for n in pager.page_range %}
{% if n < 11 %}
<a href="/movie/index/?num={{ n }}">{{ n }}</a> 
{% endif %}
{% endfor %}
{% if perpage_data.has_next %}
<a href="/movie/index/?num={{ perpage_data.next_page_number }}">下一页</a>
{% endif %}
</div>
如图:
5、重启项目,如图: