2013-04-23 93 views
0

我有一個包含降價的字段。當我將它顯示在我的模板中時,我可以放入{{activity.activity_notes|markdown}}以正確格式化。但是,當它出現在Django管理員中時,它未經過濾,看起來不太好。如何在django-admin list_display中設置顯示文本過濾器?

我寫了一個自定義函數來返回已編譯的markdown,但是當它在Django admin中輸出時,它顯示了文字html,標籤和全部。有沒有一種方法可以爲Django管理界面中的字段設置輸出過濾器?

回答

2

只需添加get_markedown_activity_notes方法模型,並用它在管理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

+2

而且不要忘了把'get_markedown_activity_notes。 allow_tags = True'在您的models.py中的某處,否則Django將轉義HTML輸出。 – 2013-04-23 20:21:07

+0

工作正常!並且謝謝@SantiagoM。我也需要這個。 – bj13 2013-04-23 20:34:07

相關問題