如何在django-admin list_display中设置显示文本过滤器?

时间:2013-04-23 19:57:14

标签: django django-admin

我有一个包含降价的字段。当我在模板中显示它时,我可以放入{{activity.activity_notes|markdown}}以使其正确格式化。但是当它出现在Django管理员中时,它是未经过滤的,看起来并不好看。

我写了一个自定义函数来返回编译的markdown,但是当在Django admin中输出它时,它显示了文字html,标签和所有。有没有办法可以为Django管理界面中的字段设置输出过滤器?

1 个答案:

答案 0 :(得分:2)

只需将get_markedown_activity_notes方法添加到您的模型中,然后在admin list_display中使用它 该方法将如下所示

from django.contrib.markup.templatetags import markdown

class Activity(models.Model):
    ...
    def get_markedown_activity_notes(self):
        return markdown(self.activity_notes)

#in admin.py

class ActivityAdmin(admin.ModelAdmin):
      list_display = ('id','get_markedown_activity_notes',)

有关更多用例,请参阅documentation