2012-03-14 129 views
19

好了,所以我必須從作者模型建立了一個自定義Django管理:Django管理列表視圖自定義列名

class AuthorAdmin(admin.ModelAdmin): 
    """ 
    Author Admin 
    """ 
    form = AuthorForm 

    list_display = ['profile_photo', 'first_name', 'last_name', 'title'] 
    search_fields = ['first_name', 'last_name', 'title', 'credential'] 
    prepopulated_fields = {'slug': ('first_name', 'last_name', 'title')} 

    def profile_photo(self, obj) : 
     return '<img src="%s" title="%s" />' % (resize_image(obj.photo, '100x100'), obj.title) 

    profile_photo.allow_tags = True 

但在Django管理列表視圖列標題自定義列沒有適當的資本。 capitalization matters dammit!

有誰知道如何覆蓋自定義函數的名稱構建的列標題?

我已經試過:

def my_function(self, obj) : 
    """My Custom Title""" 
    ... 

def my_function(self, obj) : 
    class Meta: 
     verbose_name = _(u"My Custom Title") 

回答

39

用途:

def my_function(self, obj) : 
    """My Custom Title""" 
    ... 
my_function.short_description = 'This is the Column Name' 

它埋在admin docsshort_description,特別是在list_display的討論中幾乎沒有提及(比實際調出的更多)。其他項目像這樣的similiarly埋在管理文檔,但這裏有一個總結:

  • short_description:列標題使用(串)
  • allow_tags:什麼名字說...讓你用HTML (TrueFalse
  • admin_order_field:模型上的場訂購的(字符串,字段名)
  • boolean此列:表示返回值是布爾和信號用漂亮的圖形綠色檢查管理/紅X(TrueFalse
+0

偉大的工程,是否有一些頁面在文檔中,我可以閱讀更多關於這個和其他功能呢? – 2012-03-14 19:57:54

+1

查看上面的更新。 – 2012-03-14 21:26:16