Как отображать в Django Admin иконки на основе значения модели

Мне нужно показать иконку в Django Admin на основе значения.

Например:

Если поле модели weather имеет значение sun, то показать иконку солнца (png или webfont)

Возможно ли это?

Создайте метод типа icon() и добавьте его в list_display, fields и сделайте его доступным для чтения.

from django.utils.html import format_html

class EventsAdmin(admin.ModelAdmin):
    ...
    ...

    list_display = ['your_list_display_fields', 'icon']

    fields = ['your_model_fields_for_form', 'icon']

    readonly_fields = ['icon']

    def icon(self, obj):
        if obj.eventId == 1:
            icon_url = '<your_icon_url>'     # get icon url 
            return format_html('<img src="{}">', icon_url)
        return None
Вернуться на верх