web-dev-qa-db-ja.com

Django admin listview列名のカスタマイズ

さて、私はカスタム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")
32

使用する:

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

admin docs に埋め込まれています。 short_descriptionは、具体的には、list_displayの説明ではほとんど触れられていません(実際に呼び出されている例よりも多い)。このような他の項目も同様に管理者ドキュメントに埋め込まれていますが、ここに要約があります:

  • short_description:使用する列タイトル(文字列)
  • allow_tags:名前の意味... HTMLを使用しましょう(TrueまたはFalse
  • admin_order_field:この列を(文字列、フィールド名)で並べ替えるモデルのフィールド
  • boolean:戻り値がブール値であることを示し、管理者にナイスグラフィックの緑色のチェック/赤いX(TrueまたはFalse)を使用するように通知します
60
Chris Pratt