【发布时间】:2021-10-19 14:32:41
【问题描述】:
我阅读了其他问题,但我没有发现任何对 Django 3 有用的东西,它们只是不起作用。
需要这样的链接类型:post/categories/subcategories/**etc
我认为一个适当的答案对每个人都有用。
告诉我如何为 DetailView 做这件事
class Category(MPTTModel):
title = models.CharField(max_length=255, verbose_name=_('Заголовок'))
slug = models.SlugField(max_length=255, verbose_name=_('URL'), blank=True)
parent = TreeForeignKey('self', null=True, blank=True, related_name='children', db_index=True, on_delete=models.CASCADE)
class MPTTMeta:
order_insertion_by = ['title']
class Meta:
unique_together = ['parent', 'slug']
verbose_name = _('Категория')
verbose_name_plural = _('Категории')
urls.py
urlpatterns = [
path('category/<slug:slug>/', CategoryListView.as_view(), name='category_detail'),
]
views.py
class CategoryListView(ListView):
model = Category
template_name = 'modules/post/category_detail.html'
context_object_name = 'category'
queryset = Category.objects.all()
def get_queryset(self):
queryset = self.queryset.filter(slug=self.kwargs['slug'])
return queryset
【问题讨论】:
标签: python django django-urls django-mptt