Есть ли способ добавить прямую ссылку на страницу просмотра списка в Wagtail modeladmin?

Я использую ModelAdmin создать список предметов в Article модель, которая основана на. Есть ли простой способ добавить "живую" ссылку в список modeladmin, похожую на активную ссылку, которая отображается через интерфейс дерева страниц? Ниже мой класс в wagtail_hooks.py

class ArticlePageModelAdmin(ModelAdmin):
    model = ArticlePage
    menu_label = 'Articles'  
    menu_icon = 'folder-open-inverse'  
    menu_order = 200  
    add_to_settings_menu = False  
    exclude_from_explorer = False  
    list_display = ('title',  'author','article_type', 'featured_status', 'first_published_at','live',)
    list_filter = ('article_type', 'featured_status', 'author')
    search_fields = ('title',)

modeladmin_register(ArticlePageModelAdmin)

1 ответ

list_display принимает строку, представляющую атрибут в ModelAdmin. Этот вызываемый принимает параметр obj это экземпляр модели. Например:

list_display = ['title', 'live_url']

def live_url(self, obj):
    return mark_safe(
        '<div class="status">'
             '<a href="{}" target="_blank" class="status-tag primary">live</a>'
         '</div>'.format(obj.get_url())
    )

Я не просматривал страницы с черновиком (еще не опубликованные или не отозванные). Я тоже ничего не делал с последними ревизиями. Там может быть более новая редакция. Чтобы получить это право, повторно используйте методы, которые существуют на экземпляре страницы. Например: status_string,

Вы поняли, счастливое кодирование!;)

Другие вопросы по тегам