我想在此表单中添加一些帮助文本。
class ItemForm(forms.ModelForm):
alternative_id = forms.CharField(max_length = 60, required = False, help_text = 'Valid wildcard search is in the format *XX, *XX*, XX*')
但它不会出现在页面上。是因为我可能需要某处的模板标签吗?
编辑:我在我的模板中写了这个。
<div id="location_header">Search for Items</div>
<div id="form_container">
<form action="." method="post">
<fieldset class="model">
{{ form.as_p }}
{{ alternative_id.help_text }}
</fieldset>
<div id="form_footer">
<input type="submit" value="Search" >
</div>
</form>
</div>
仍然没有显示帮助文字。有没有办法编写帮助文本,同时允许django生成表单?
答案 0 :(得分:19)
步骤1.阅读:https://docs.djangoproject.com/en/1.8/topics/forms/#looping-over-the-form-s-fields
第2步。自定义。这是规则。
在此循环中,{{field}}是一个 BoundField的实例。绑定列 还具有以下属性, 这在您的模板中很有用:
{{field.label}}标签 场,例如电子邮件地址。
{{field.label_tag}}该字段 标签包装在适当的HTML中 标签,例如电子邮件地址
{{field.html_name}}的名称 将在输入中使用的字段 元素的名称字段。这需要 表格前缀,如果有的话 已经确定。
{{field.help_text}}任何帮助文字 与之相关的 字段。
{{field.errors}}输出包含any的内容 对应的验证错误 这个领域。你可以自定义 用{%表示错误 for field.errors%}循环中的错误。在 在这种情况下,循环中的每个对象都是 包含错误的简单字符串 消息。
答案 1 :(得分:2)
在您的模板中放置{{ form.as_p }}
(或只是{{ form }}
)应显示help_text而不需要其他代码,只要您在上下文中有form
(但我想如果你得到了你网页上的字段。)
答案 2 :(得分:1)
如果ItemForm实例在模板中作为{{form}}传递,我看到剪切中缺少某些内容
{{ form.alternative_id.help_text }}
..正如文档在@ S.Lott回答中所说的那样。