views.py 文件源码

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

项目:syp 作者: Koi7 项目源码 文件源码
def get(self, request):

        """
            View for default page of logged user.
            Returns relevant posts list.
        """
        # GET PARAMETERS 

        place = request.user.vkuser.place if not request.GET.get('place') else request.GET.get('place')
        tag = "any" if not request.GET.get('tag') else request.GET.get('tag')
        order = "desc" if not request.GET.get('order') else request.GET.get('order')
        is_anonymous = 'any' if not request.GET.get('is_anonymous') else request.GET.get('is_anonymous')

        # FILTER POSTS

        filtered_posts = filter(place, tag, order, is_anonymous)        
        # RESOLVE AD

        ad = None
        if Ad.objects.filter(place=-1).exists():
            ad = Ad.objects.filter(place=-1).first()
        elif Ad.objects.filter(place=request.user.vkuser.place).exists():
            ad = Ad.objects.filter(place=request.user.vkuser.place).first()
        # INIT PAGINATOR

        filtered_posts_paginator = Paginator(filtered_posts, self.post_per_request)

        # BUILD CONTEXT

        context = {}


        filtered_posts_page = filtered_posts_paginator.page(1)

        context = {
            'posts_list': filtered_posts_page,
            'has_next': filtered_posts_page.has_next(),
            'next_page': filtered_posts_page.next_page_number() if filtered_posts_page.has_next() else 0,
            'VK_BASE_URL': settings.VK_BASE_URL,
            'ad': ad
        }

        return render(request, self.template_name, context)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号