You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

55 lines
1.4 KiB

from django.views.generic import DetailView, ListView
from django.http import HttpResponse
from models import Article
class NewsList(ListView):
model = Article
template_name = 'article/news_list.html'
def get_queryset(self):
if self.request.GET:
qs = self.model.objects.news()
themes = self.request.GET.getlist('theme')
if themes:
qs = qs.filter(theme__id__in=themes)
tags = self.request.GET.getlist('tag')
if tags:
qs = qs.filter(tag__id__in=tags)
return qs
else:
return self.model.objects.news()
class NewsDetail(DetailView):
model = Article
slug_field = 'slug'
template_name = 'article/news.html'
class BlogList(ListView):
model = Article
template_name = 'article/blog_list.html'
def get_queryset(self):
if self.request.GET:
qs = self.model.objects.blogs()
themes = self.request.GET.getlist('theme')
if themes:
qs = qs.filter(theme__id__in=themes)
tags = self.request.GET.getlist('tag')
if tags:
qs = qs.filter(tag__id__in=tags)
return qs
else:
return self.model.objects.blogs()
class BlogDetail(DetailView):
model = Article
slug_field = 'slug'
template_name = 'article/article.html'