一 重写视图函数article_list,实现分页功能
@login_required(login_url='/account/login')
def article_list(request):
# 请求用户的文章列表
articles_list = ArticlePost.objects.filter(author=request.user)
# 依据查询到的文章对象articles_list创建分页实例对象,并且规定每页最多5篇文章
paginator = Paginator(articles_list, 5)
# 获得当前浏览器GET请求的参数page的值,也就是当前浏览器所请求的页面数值
page = request.GET.get('page')
try:
# 用于得到指定页面的内容
current_page = paginator.page(page)
# 得到当前页的所有对象列表
articles = current_page.object_list
# 请求页码数值不是整数
except PageNotAnInteger:
current_page = paginator.page(1)
articles = current_page.object_list
# 请求页码数值为空或者在URL参数中没有page
except EmptyPage:
# paginator.num_pages返回的是页数
current_page = paginator.page(paginator.num_pages)
articles = current_page.object_list
# 给前端渲染的数据是文章列表和当