Ok so I have a custom django admin built from a Author Model:
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
But in the django admin listview the column title for the custom column does not have proper capitalization.
Does anyone know how to override the column headers that are built from custom function's names?
I've tried:
def my_function(self, obj) :
"""My Custom Title"""
...
and
def my_function(self, obj) :
class Meta:
verbose_name = _(u"My Custom Title")
Use:
class AuthorAdmin(admin.ModelAdmin):
…
def my_function(self, obj) :
"""My Custom Title"""
…
my_function.short_description = 'This is the Column Name'
It's buried in the admin docs. short_description
, specifically, is barely mentioned under the discussion of list_display
(more by example than actually called out). The other items like this are similiarly buried in the admin docs, but here's a summary:
short_description
: the column title to use (string)allow_tags
: what the name says... let's you use HTML (True
or False
)admin_order_field
: a field on the model to order this column by (string, field name)boolean
: indicates the return value is boolean and signals the admin to use the nice graphic green check/red X (True
or False
)Starting from Django 3.2 you can use the display
decorator. It has the attribute description
for changing the name of the column:
class AuthorAdmin(admin.ModelAdmin):
list_display = ['profile_photo', 'first_name', 'last_name', 'title']
@admin.display(description='Profile Photo')
def profile_photo(self, obj) :
return '<img src="%s" title="%s" />' % (resize_image(obj.photo, '100x100'), obj.title)
For more info about the display
decorator see this page
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With