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

时间:2013-08-12 01:12:08

标签: python django django-models

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

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

现在我很困惑,我应该在哪里为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 ')

5 个答案:

答案 0 :(得分:30)

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

答案 1 :(得分:3)

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

'每张桌子'是什么意思? form inheritance会有所帮助,因此您只能以超级形式设置常用表单字段的帮助文本。

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

答案 2 :(得分:2)

在表单中添加help_texts之后,你应该在前端做这样的事情:

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

答案 3 :(得分:1)

使用模型表单时,您可以将标签和help_texts添加到模型生成的字段中。 see docs

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

答案 4 :(得分:0)

如果您想使用标准管理员更改表单,并为每个字段使用简短的帮助文本,但有时会觉得需要提供更长的解释,甚至是带有一些示例值的表格(不会将用户限制在预定义的集合中)选择)你可以做这样的事情:

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')

这样你就得到一个简短的文字&#34; corr。因子x> = 1&#34;接着是一个漂亮的问号,它提供了一个类似工具提示的表,而无需修改change_form模板。