Django admin listview自定义列名

时间:2012-03-14 19:03:25

标签: django django-forms django-admin

好的,我有一个基于作者模型构建的自定义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 admin listview中,自定义列的列标题没有正确的大小写。 capitalization matters dammit!

有谁知道如何覆盖从自定义函数名称构建的列标题?

我试过了:

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

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

1 个答案:

答案 0 :(得分:55)

使用:

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

它埋藏在admin docs中。具体而言,short_descriptionlist_display的讨论中几乎没有提及(更多是通过实例而不是实际调出来的)。像这样的其他项目同样埋没在管理员文档中,但这里有一个摘要:

  • short_description:要使用的列标题(字符串)
  • allow_tags:名称是什么......让我们使用HTML(TrueFalse
  • admin_order_field:模型上的一个字段,用于(字符串,字段名称)
  • 对此列进行排序
  • boolean:表示返回值为布尔值,表示管理员使用漂亮的图形绿色检查/红色X(TrueFalse