2010-10-30 59 views
1

當我描述模型的管理選項時,可以將任何方法放入'list_display'中,然後我們可以添加'allow_tags = True'並獲取HTML。有沒有同樣的選擇,但'changeview'形式? 我可以更改表單的模板,但有一些計算返回HTML,因此將它們全部放到模板中並不是個好主意。如何在django的admin的changeview中放置自定義HTML?

class OrderAdmin(admin.ModelAdmin): 
    list_display = ('__unicode__','render_html') 

render_html是模型的一種方法,它在listview中工作,把它放到'fields'不起作用。

+0

什麼樣的計算?你總是可以使用JavaScript(在模板中),AJAX從服務器獲取數據等。 – Jerzyk 2011-03-25 13:50:49

回答

0

這是一個黑客,但它應該工作。

class OrderAdmin(admin.ModelAdmin):   
    def render_change_form(self, request, context, *args, **kwargs): 
     context['adminform'].form.fields['somefield'].helptext= self.colored_name() 
     return super(OrderAdmin, self).render_change_form(request, context, args, kwargs) 
    def colored_name(self): 
     return '<span style="color: #%s;">%s %s</span>' % (self.color_code, self.first_name, self.last_name) 
    colored_name.allow_tags = True 
相關問題