Есть ли способ показать поле на странице со списком в Wagtail admin? - PullRequest
1 голос
/ 12 марта 2020

Я знаю, что могу зарегистрировать свою модель как модель Django и добавить туда изображение, но мне нужно сохранить дерево страниц и идентифицировать мои страницы по изображению на странице листинга. Короче говоря, мне нужно показать изображения на странице листинга в админке.

wagtail admin listing index page customization

1 Ответ

1 голос
/ 13 марта 2020

enter image description here

Создайте шаблон в templates/wagtailadmin/pages/listing/_page_title_explore.html

{% load i18n wagtailadmin_tags %}

{# The title field for a page in the page listing, when in 'explore' mode #}

<div class="title-wrapper">
    {% if page.sites_rooted_here.exists %}
        {% if perms.wagtailcore.add_site or perms.wagtailcore.change_site or perms.wagtailcore.delete_site %}
            <a href="{% url 'wagtailsites:index' %}" class="icon icon-site" title="{% trans 'Sites menu' %}"></a>
        {% endif %}
    {% endif %}

    {% if page_perms.can_edit %}
        <a href="{% url 'wagtailadmin_pages:edit' page.id %}" title="{% trans 'Edit this page' %}">{{ page.get_admin_display_title }}</a>
    {% else %}
        {{ page.get_admin_display_title }}
    {% endif %}

    {% block pages_listing_title_extra %}
        {% if page.youtube_video_id %}
            <img src='https://i.ytimg.com/vi/{{page.youtube_video_id}}/mqdefault.jpg' width='150'/>
        {% endif %}
    {% endblock pages_listing_title_extra %}

    {% include "wagtailadmin/pages/listing/_privacy_indicator.html" with page=page %}
    {% include "wagtailadmin/pages/listing/_locked_indicator.html" with page=page %}
</div>

<ul class="actions">
    {% page_listing_buttons page page_perms %}
</ul>

Обратите внимание на {% block pages_listing_title_extra %}, например, вы можете добавить свою переменную из модель для этого блока.

Имейте в виду, что шаблон администратора был перезаписан, и после обновления ядра Wagtail вы можете не увидеть некоторые новые функции.

...