Добавление кнопки пользовательских действий в сниппеты wagtail

Screenshot of default actions Я пытался найти в документации информацию о том, как добавить пользовательские кнопки действий для сниппетов трясогузки. Пока безуспешно.

Моя версия трясогузки - 6.1.3

Это мой класс сниппетов.

class CurrentDayForecastViewSet(SnippetViewSet):
    model = CurrentDayForecast
    menu_label = 'Current Day Forecast'
    list_display = ('forecast_title', 'forecast_date', 'town')
    search_fields = ('forecast_title', 'forecast_date', 'town')

    panels = [
        FieldPanel('forecast_title'),
        MultiFieldPanel([
            FieldPanel('forecast_date', classname='col6'),
            FieldPanel('town', classname='col6'),
            FieldPanel('min_temperature', classname='col6'),
            FieldPanel('max_temperature', classname='col6'),
        ], heading="Forecast Details", classname='col12'),

        MultiFieldPanel(
            [
                FieldPanel('weather_condition_5AM', classname='col4'),
                FieldPanel('wind_direction_5AM', classname='col4'),
                FieldPanel('wind_speed_5AM', classname='col4'),
            ],
            heading='5AM',
            classname='collapsible col12'
        ),
        MultiFieldPanel(
            [
                FieldPanel('weather_condition_12PM', classname='col4'),
                FieldPanel('wind_direction_12PM', classname='col4'),
                FieldPanel('wind_speed_12PM', classname='col4'),
            ],
            heading='12PM',
            classname='collapsible col12'
        ),
        MultiFieldPanel(
            [
                FieldPanel('weather_condition_5PM', classname='col4'),
                FieldPanel('wind_direction_5PM', classname='col4'),
                FieldPanel('wind_speed_5PM', classname='col4'),
            ],
            heading='5PM',
            classname='collapsible col12'
        ),
        MultiFieldPanel(
            [
                FieldPanel('weather_condition_9PM', classname='col4'),
                FieldPanel('wind_direction_9PM', classname='col4'),
                FieldPanel('wind_speed_9PM', classname='col4'),
            ],
            heading='9PM',
            classname='collapsible col12'
        ),
    ]

По умолчанию в выпадающем списке действий есть «редактировать, копировать, удалить». Мне нужно добавить пользовательскую кнопку действия только для этого фрагмента, чтобы запустить некоторую пользовательскую логику.

Буду благодарен, если кто-нибудь укажет мне правильное направление.

Используйте крючок register_snippet_listing_buttons. Из документации (добавляется в файл wagtail_hooks.py в любом приложении):

from wagtail import hooks
from wagtail.snippets import widgets as wagtailsnippets_widgets

@hooks.register('register_snippet_listing_buttons')
def snippet_listing_buttons(snippet, user, next_url=None):
    yield wagtailsnippets_widgets.SnippetListingButton(
        'A page listing button',
        '/goes/to/a/url/',
        priority=10
    )
Вернуться на верх