help_text field admin django
6 мая 2018 г. 6:15
help_text для поля
Чтобы быстро добавить динамический help_text
для поля модели, можно воспользоваться методом get_form()
:
class MyAdmin(admin.ModelAdmin): def get_form(self, request, obj=None, **kwargs): form = super(MyAdmin, self).get_form(request, obj, **kwargs) form.base_fields['my_field'].help_text = 'Custom help text' return form
Или использовать форму для админ-класса:
class MyAdmin(admin.ModelAdmin): form = MyForm class MyForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(MyForm, self).__init__(*args, **kwargs) self.fields['my_field'].help_text = 'Custom help text'
help_text для кастомного поля
Иногда хочется добавить 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