Могу ли я добавить текст справки в поля модели django?

У меня есть страница с подробной информацией о студентах, где у меня есть все данные студента, отображаемые в лог-вложенном формате.

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

Теперь я смущен, где я должен вводить текст справки 50-100 слов для каждой таблицы в 5-6 таблицах

Вот как я использовал help_text в формах:

student_number = forms.CharField(
        required=False, max_length=64, label='Student Number',
        help_text='Unique identifier for the student ')

Ответ 1

Да, вы можете! Также как и ваша форма, вы можете добавить help_text в свои поля модели.

Ответ 2

В разделе 'detail page' вы подразумеваете форму редактирования одного экземпляра студента или список всех записей учащихся? Используете ли вы Django admin или используете свой собственный вид и шаблон, пользовательское определение формы или as_ul()/as_list() и т.д.? Трудно ответить на ваш вопрос, просто увидев определение поля формы.

Что вы подразумеваете под "для каждой таблицы"? Помогла бы форму наследования, чтобы вы установили текст справки общих полей формы только в супер форме.

Если вы создаете собственный шаблон, вы можете отображать help_text везде, где хотите. {{my_field.help_text}}. Если у вас есть табличное представление в вашем шаблоне и вы хотите, чтобы там был helptext, просто поместите пустой экземпляр формы в свой контекст шаблона, чтобы у вас был доступ к help_texts и поместите его в таблицу в качестве подсказки?

Ответ 3

После добавления help_texts в форме вы должны сделать что-то вроде этого в интерфейсе:

<label title="{{ form.name.help_text }}" for="{{ form.name.id_for_label }}">Your label</label> 
{{ form.name }} {{ form.quantity }}

Ответ 4

При использовании форм моделей вы можете добавлять метки и help_texts в поля, сгенерированные моделью. посмотреть документы

class PupilForm(forms.ModelForm):

  class Meta:
    model = Pupil

    fields = ['student_number',]
    labels = {'student_number': "Student Number",}
    help_texts = {'student_number': "Unique identifier for the student",}

Ответ 5

Если вы хотите использовать стандартную форму изменения администратора с кратким справочным текстом для каждого поля, но иногда чувствуете необходимость давать более подробное объяснение или даже таблицу с некоторыми значениями выборки (без ограничения пользователя на предопределенный набор вариантов) вы можете сделать что-то вроде этого:

my_strange_field = models.FloatField('strange parameter', validators=[MinValueValidator(1.0)],
                                     help_text='corr. factor x >= 1 <img src="/static/admin/img/icon-unknown.gif" '
                                               'width="15" height="15" title="typical values:\n'
                                               'cow:\t2..3\ncat:\t5..7\ndog:\t11..15')

Таким образом вы получаете короткий текст "corr. factor x >= 1", за которым следует отличный вопросительный знак, который представляет таблицу, такую ​​как подсказка, без необходимости изменять шаблон change_form.