views.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:dream_blog 作者: fanlion 项目源码 文件源码
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)  # ????
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号