2012-03-14 139 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