def tag(request, pk):
"""
????????????
:param request:
:param pk: tag?id
:return:
"""
t = get_object_or_404(Tag, pk=pk)
if t.is_pub:
post_list = Post.objects.filter(tags=t).filter(is_pub=True).filter(category__is_pub=True).order_by(
'-create_time')
page = request.GET.get('page')
is_paginated = False
if post_list.count() > PAGE_SIZE:
is_paginated = True
paginator = Paginator(post_list, PAGE_SIZE)
try:
page_obj = paginator.page(page)
except PageNotAnInteger:
# ??page??????????
page_obj = paginator.page(1)
except EmptyPage:
# ??page?????????????
page_obj = paginator.page(paginator.num_pages)
# pagination_data????????????
pagination_data = PaginationBlogPost(paginator=paginator, page_obj=page_obj,
is_paginated=is_paginated).pagination_data()
pagination_data['post_list'] = page_obj
pagination_data['page_obj'] = page_obj
pagination_data['paginator'] = paginator
return render(request, 'blog/index.html', pagination_data)
else:
# ???????tag????
return HttpResponseForbidden('Forbidden 403')
# @cache_page(60 * 60) # ????
评论列表
文章目录