Есть ли способ добавить прямую ссылку на страницу просмотра списка в 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
,
Вы поняли, счастливое кодирование!;)