如何删除我要与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部分以进一步说明。
有人有什么建议吗?
[Django documentation on customizing labels表示可以使用Form构造函数的auto_id
参数将其关闭:
f = ContactForm(auto_id=False)
这应该与django的最新版本(trunk)一起使用:
comment = forms.CharField(label="", help_text="", widget=forms.Textarea())
希望有帮助!
以您的形式尝试:
def __init__(self, *args, **kwargs):
self.fields['comment'].label = ''
但是对于较新版本的Django,我更喜欢Iemonad的答案
快速而又肮脏的解决方案是手动遍历表单(使用{%表示表单%的字段})并专门处理“问题”字段。如果需要,您还可以覆盖as_p / as_table方法。
不确定旧的Django,但您现在可以在Meta中为新的Django清空表单字段标签
class CustomForm(forms.Form):
class Meta:
... #other properties such as model, fields, widgets and help text
labels = {
'comment' : '',
}