如何删除附加到我尝试与Django一起使用的TextArea的标签?我正在尝试找到有关此问题的任何信息,但我似乎无法找到与我的问题有关的任何内容。这就是我在我的代码中所做的:
class CommentForm(forms.Form):
comment = forms.CharField(widget=forms.Textarea())
这是它产生的HTML:
<label for="id_text">Text:</label>
<textarea id="id_text" rows="10" cols="40" name="text"></textarea>
那个标签不好,我想要一种方法来删除它。该代码是通过以下方式生成的:
{{ form.as_p }}
(我删除了段落标签,因为它们无关紧要)
编辑:我添加了CommentForm类部分以进一步澄清。
有人有任何建议吗?
答案 0 :(得分:24)
这应该适用于django的最新版本(主干):
comment = forms.CharField(label="", help_text="", widget=forms.Textarea())
希望有所帮助!
答案 1 :(得分:9)
Django documentation on customizing labels表示可以使用auto_id
参数关闭Form构造函数:
f = ContactForm(auto_id=False)
答案 2 :(得分:1)
在表单中尝试:
def __init__(self, *args, **kwargs):
self.fields['comment'].label = ''
但是对于较新版本的django,我更喜欢Iemonad的回答
答案 3 :(得分:0)
一个快速而肮脏的解决方案是手动迭代表单({%for field in form%})并专门处理“有问题”的字段。如果需要,您还可以覆盖as_p / as_table方法。
答案 4 :(得分:0)
不确定旧的Django,但是您现在可以在Meta中为新的Django清空表单字段标签
class CustomForm(forms.Form):
class Meta:
... #other properties such as model, fields, widgets and help text
labels = {
'comment' : '',
}