【发布时间】:2014-06-14 18:07:12
【问题描述】:
我想获取在我的表单类中声明的 help_text 以在 inside 呈现 HTML 表单元素,而不是 Django 的默认值,它将它显示为一个单独的元素。具体来说,对于 textarea 字段,help_text 需要在 HTML 开始标签和结束标签之间移动,对于输入字段,help_text 需要设置为value= 属性——基本上,转:
text = forms.CharField(widget=forms.Textarea(attrs={'class':'form-control', 'rows':2}), help_text="Some help text")
image = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control'}), help_text="More help text")
进入:
<textarea class="form-control" id="id_text" name="text" rows="2">Some help text</textarea>
<input class="form-control" id="id_image" name="image" value="More help text">
照原样,第一块代码不会在任何地方插入 help_text。
一种方法是仅使用模板标签将所有内容插入内联,但这感觉像是一种 hack。
<textarea class="form-control" id="{{ form.text.auto_id }}" name="{{ form.text.html_name }}" rows="2">{{ form.text.help_text }}</textarea>
<input class="form-control" id="{{ form.image.auto_id }}" name="{{ form.image.html_name }}" value="{{ form.image.help_text }}">
我想一定有更好的方法吗?
【问题讨论】:
-
有什么原因不能使用
placeholder属性而不是value? -
是的,我绝对可以(而且应该)。有没有办法让它与 help_text 一起工作?