Как я добавляю пользовательский столбец с гиперссылкой в django администраторском интерфейсе?

Я сделал, чтобы django администратор взаимодействовал через интерфейс, и в списке моделей я хочу пользовательский столбец, который будет гиперссылкой с помощью одного из полевых значений. В основном одно из полей моделей является URL, и я хотел бы, чтобы столбец имел тот URL в активируемой по щелчку гиперссылке. Этой ссылке должны будут предварительно ожидать дополнительный URL к нему, поскольку это - относительный путь в образцовом поле.

58
задан dusan 7 September 2017 в 15:13
поделиться

1 ответ

Определите метод в вашем классе ModelAdmin и установите его атрибут allow_tags на true . Это позволит методу вернуть нераспределенный HTML для отображения в столбце.

Затем перечислите его как запись в атрибуте ModelAdmin.list_display.

Пример:

class YourModelAdmin(admin.ModelAdmin):
    list_display = ('my_url_field',)

    def my_url_field(self, obj):
        return '<a href="%s%s">%s</a>' % ('http://url-to-prepend.com/', obj.url_field, obj.url_field)
    my_url_field.allow_tags = True
    my_url_field.short_description = 'Column description'

Смотрите документацию для ModelAdmin.list_display для более подробной информации.

76
ответ дан 24 November 2019 в 18:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: