我可以在django模型字段中添加帮助文本吗



我有一个学生详细信息页面,其中以日志嵌套格式显示了所有学生数据。

现在在表单中,我知道我可以添加帮助文本。但现在我的经理希望,当我们显示详细信息页面时,应该有人帮助我们在每个字段上悬停。

现在我很困惑我应该在哪里为5-6个表中的每个表输入50-100个单词的帮助文本

这就是我在表单中使用help_text的方式:

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

是的,你可以!就像您的表单一样,您可以将help_text添加到模型字段中。

使用模型表单时,可以向模型生成的字段添加标签和help_text。参见文档

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",}

在表单中添加help_texts后,您应该在前端执行以下操作:

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

"详细信息页"是指单个学生实例的编辑表单还是所有学生记录的列表?你是使用Django管理,还是使用自己的视图和模板、自定义表单定义或as_ul()/as_list()等?仅仅看到表单字段的定义很难回答您的问题。

你说的"每张桌子"是什么意思?将表单继承帮助,以便您只在超级表单中设置常见表单字段的帮助文本。

如果渲染自定义模板,则可以使用在任意位置渲染help_text{{my_field.help_text}}。如果你的模板中有一个类似表格的视图,并且希望那里有帮助文本,只需在模板上下文中放置一个表单的空实例,这样你就可以访问帮助文本并将其作为工具提示放在表中?

如果你想使用标准的管理更改表单,每个字段都有一个简短的帮助文本,但有时觉得需要给出更长的解释,甚至需要一个带有一些示例值的表(不限制用户使用预定义的一组选项),你可以这样做:

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..3ncat:t5..7ndog:t11..15')

通过这种方式,您可以获得一个简短的文本"corr.factor x>=1",然后是一个漂亮的问号,它提供了一个类似表格的工具提示,而无需修改change_form模板。

最新更新