Как сделать теги и категории раздельными в django wagtail
Как разделить теги и категории... У меня есть тег для SCRC и тег для библиотек, но Как я могу сделать так, чтобы когда я создаю блог, и выбираю каждый отдельный тег, появлялись записи?
Сниппеты - это такая же модель, как и любая другая, только она помещается в другую область Wagtail CMS.
Вот базовый пример сниппета в коде
@register_snippet
class Category(index.Indexed, models.Model):
name = models.CharField(
max_length=100,
null=True,
)
panels = [
FieldPanel('name'),
]
search_fields = [
index.SearchField('name'),
]
def __str__(self):
return self.name
class Meta:
ordering = ['name']
Вот как можно сослаться на сниппет в модели страницы Wagtail
class BlogPost(Page):
category = ParentalManyToManyField(
'Category',
blank=True,
)
content_panels = Page.content_panels + [
MultiFieldPanel([
FieldPanel(
'category',
widget=forms.CheckboxSelectMultiple,
)
],
heading='Category'
),
]
Вы также можете удалить widget=forms.CheckboxSelectMultiple
, если это не то, что вы хотите делать.
Создавая сниппет, вы теперь можете создавать "Категории" и затем иметь возможность выбирать их в записи блога.
После этого вам останется только запросить категорию в модели BlogPage в шаблоне HTML и отобразить ее или сгруппировать, как вы захотите.
Я использую сниппеты, когда мне нужна большая гибкость, которую не могут предложить теги.