我正在使用ModelAdmin
在Article
模型中创建基于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)
答案 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
。
你明白了,快乐的编码! ;)