Ответ 1
Да, вы можете! Также как и ваша форма, вы можете добавить help_text
в свои поля модели.
У меня есть страница с подробной информацией о студентах, где у меня есть все данные студента, отображаемые в лог-вложенном формате.
Теперь в форме, которую я знаю, я могу добавить текст справки. Но теперь мой менеджер хочет, чтобы, когда мы показываем страницу подробностей, должна быть помощь в зависании над каждым полем.
Теперь я смущен, где я должен вводить текст справки 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 ')
Да, вы можете! Также как и ваша форма, вы можете добавить help_text
в свои поля модели.
В разделе 'detail page' вы подразумеваете форму редактирования одного экземпляра студента или список всех записей учащихся? Используете ли вы Django admin или используете свой собственный вид и шаблон, пользовательское определение формы или as_ul()/as_list() и т.д.? Трудно ответить на ваш вопрос, просто увидев определение поля формы.
Что вы подразумеваете под "для каждой таблицы"? Помогла бы форму наследования, чтобы вы установили текст справки общих полей формы только в супер форме.
Если вы создаете собственный шаблон, вы можете отображать help_text везде, где хотите. {{my_field.help_text}}. Если у вас есть табличное представление в вашем шаблоне и вы хотите, чтобы там был helptext, просто поместите пустой экземпляр формы в свой контекст шаблона, чтобы у вас был доступ к help_texts и поместите его в таблицу в качестве подсказки?
После добавления help_texts в форме вы должны сделать что-то вроде этого в интерфейсе:
<label title="{{ form.name.help_text }}" for="{{ form.name.id_for_label }}">Your label</label>
{{ form.name }} {{ form.quantity }}
При использовании форм моделей вы можете добавлять метки и 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",}
Если вы хотите использовать стандартную форму изменения администратора с кратким справочным текстом для каждого поля, но иногда чувствуете необходимость давать более подробное объяснение или даже таблицу с некоторыми значениями выборки (без ограничения пользователя на предопределенный набор вариантов) вы можете сделать что-то вроде этого:
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.