У меня есть это функциональное представление, делающее то, что мне нужно - получить список всех сообщений, поданных с указанием категории c, и перейти к этому списку, перейдя по адресу example.com/economics/ (где экономика - это slug od, который указывает c Категория). Там я найду список всех своих сообщений, поданных в категории «Экономика», и создам ссылки, чтобы я мог щелкнуть по ним и go на одной странице сообщения.
В настоящее время мой FBV выглядит следующим образом:
def category_detail(request, category_detail_slug=None):
categories = Category.objects.all()
#Show only published posts
posts = Post.objects.filter(status__exact='1')
if category_detail_slug:
category = get_object_or_404(Category, slug=category_detail_slug)
posts = posts.filter(category=category)
return render(request, 'blog/category/single.html', {'category_detail_slug': category_detail_slug,
'category': category,
'categories': categories,
'posts': posts})
Я начал создавать свой CBV следующим образом:
class CategoryDetailView(DetailView):
model = Category
template_name = 'blog/category/single.html'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
return context
Я знаю, что мне нужно передать некоторый контекст, но почему-то мне это не удается.
Мой URL для этого определяется так:
path('<slug:category_detail_slug>/', views.CategoryDetailView.as_view(), name="single_category")