Как сделать теги и категории раздельными в 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 и отобразить ее или сгруппировать, как вы захотите.

Я использую сниппеты, когда мне нужна большая гибкость, которую не могут предложить теги.

Вернуться на верх