Articles 
Why I don't like class-based generic views
… because I have to replace this:
def category(request, slug, language):
translation.activate(language or 'ru')
category = get_object_or_404(models.Category, slug=slug)
return object_list(request,
template_name = 'marcus/category.html',
queryset = models.Article.public.language(language).filter(categories=category),
paginate_by = settings.MARCUS_PAGINATE_BY,
extra_context = {
'category': models.Translation(category, language),
'language': language,
},
)
with this:
class Category(generic.ListView):
template_name = 'marcus/category.html'
paginate_by = settings.MARCUS_PAGINATE_BY
def get_queryset(self):
self.category = get_object_or_404(models.Category, slug=self.args[0])
return models.Article.public.language(self.args[1]).filter(categories=self.category)
def get_context_data(self, **kwargs):
translation.activate(self.args[1] or 'ru')
context = super(Category, self).get_context_data(**kwargs)
context.update({
'category': models.Translation(self.category, self.args[1]),
'language': self.args[1],
})
return context