从Django的文本区域小部件中移除标签
我想知道如何去掉和我在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部分以便更清楚。
有没有人有建议呢?
6 个回答
4
在你的表单中试试这个:
def __init__(self, *args, **kwargs):
self.fields['comment'].label = ''
不过对于更新版本的Django,我更喜欢Iemonad的回答。
36
这段代码应该可以在最新版本的Django(开发版)上正常运行:
comment = forms.CharField(label="", help_text="", widget=forms.Textarea())
希望这对你有帮助!
10
Django的官方文档提到,关于自定义标签的内容,可以通过在表单构造函数中使用auto_id
这个参数来关闭这个功能:
f = ContactForm(auto_id=False)