有没有办法在Wagtail modeladmin中添加基于页面的列表视图的实时链接?

时间:2018-05-30 13:48:16

标签: wagtail modeladmin

我正在使用ModelAdminArticle模型中创建基于Page的项目列表。有没有一种简单的方法可以在modeladmin列表中添加“ live ”链接,类似于通过Page tree界面显示的实时链接?以下是 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 个答案:

答案 0 :(得分:0)

list_display接受表示ModelAdmin上的属性的字符串。此callable接受作为模型实例的参数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

你明白了,快乐的编码! ;)