help_text для кастомного field admin django

6 мая 2018 г. 2:15

Иногда хочется добавить help_text для своего кастомного поля в админке Django, например так:

from django.contrib import admin

class MyModelAdmin(admin.ModelAdmin):
    fields = ('title', 'custom_field')

    def custom_field(self, obj):
        # some code...
        return some_result

    custom_field.help_text = _('Custom help text')

Но до сих пор (на момент написания статьи 6 мая 2018 года) для кастомный полей в настройке admin-класса Django такой функции нет. Поэтому самый простой способ добавить вспомогательный текст - сделать это вручную. Например:

from django.contrib import admin

class MyModelAdmin(admin.ModelAdmin):
    fields = ('title', 'custom_field')

    def custom_field(self, obj):
        # some code...
        return '{}<p class="help">{}</p>'.format(some_result, _('Custom help text'))

Именно благодаря <p class="help">{}</p>, отображается вспомогательный текст для полей модели, например, таких как: title = models.CharField(_('Title'), max_length=50, help_text=_('Custom help text')).

В Django сообществе уже обсуждается добавление свойства help_text кастомным полям: https://code.djangoproject.com/ticket/26761 , поэтому ждём, когда добавят эту возможность.

Оцените статью

0 из 5 (всего 0 оценок)

Поля, отмеченные звёздочкой ( * ) , являются обязательными.

Спасибо за ваш отзыв!

После нажатия кнопки "Отправить" ваше сообщение будет доставлено мне на почту.

Автор статьи

Права на использование материала, расположенного на этой странице http://vivazzi.pro/it/help-text-custom-field/:

Разрешается копировать материал с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Мальцев Артём
Ссылка на статью: <a href="http://vivazzi.pro/it/help-text-custom-field/">http://vivazzi.pro/it/help-text-custom-field/</a>

Подробнее: Правила использования сайта

Комментариев: 0

Вы можете оставить комментарий как незарегистрированный пользователь. Но, зарегистрировавшись, вы сможете получать оповещения об ответах, а также иметь доступ к своему личному аккаунту для просмотра своих комментариев.

Чтобы оставить комментарий от своего имени войдите или зарегистрируйтесь обычным способом или через социальные сети:

Отправить

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте