def theme_context(request):
        context = {}
        context['view_name'] = "article_view_by_category"
        context['menuitems'] = ArticleCategory.get_root_nodes().order_by('ordering')
        new_articles = Article.non_archived_objects.filter(created_at__gte=(datetime.utcnow() - timedelta(days=15)))
        context['hot'] = new_articles.order_by('-views')[:10]
        context['best'] = new_articles.order_by('-likes')[:10]
        multimedia_categories = ArticleCategory.objects.filter(is_multimedia=True)
        context['new_multimedia_non_video'] = Article.publishable_objects.filter(
            category__in=list(multimedia_categories)).filter(video=None).order_by('-views')[:7]
        context['new_viedeos'] = Article.publishable_objects.filter(
            category__in=list(multimedia_categories)).exclude(video=None).order_by('-views')[:7]
        context['multimedia_categories'] = multimedia_categories
        context['banners'] = AdvertisementBanner.publishable.all().order_by('?')
        context['link_exchanges'] = LinkExchange.objects.all()
        for banner in context['banners']:
            banner.views += 1
            banner.save()
        return context
Example #2
0
 def get_context_data(self, **kwargs):
     context = super(ArticleListViewByCategory, self).get_context_data(**kwargs)
     category_name = self.kwargs['category_name']
     page = self.request.GET.get('page')
     category = ArticleCategory.from_url_string(category_name)
     articles = Article.get_by_category(category).order_by('-created_at')
     context['category'] = category
     
     tag = self.request.GET.get('tag')
     if tag:
         articles = articles.filter(tags__name=tag)
     paginator = Paginator(articles, self.article_per_page)
     try:
         context['articles'] = paginator.page(page)
     except EmptyPage:
         context['articles'] = paginator.page(paginator.num_pages)
     except PageNotAnInteger:
         context['articles'] = paginator.page(1)
     return context