如何从生成的Django表单中移除文本?

1 投票
3 回答
2620 浏览
提问于 2025-04-15 12:40

之前我问过一个问题,关于如何去掉Django表单默认的标签。这个问题解决得很好,我成功去掉了标签。不过,表单生成的文本还是在那儿!我很想把这个文本也去掉。这里是我想说的:

<p>Text: <textarea rows="10" cols="40" name="text"></textarea></p>

我想去掉这个“Text:”部分,因为我不想要它。这个文本是通过我创建的表单生成的:

{{ form.as_p }}

这是我用来创建表单的模型:

class CommentForm(forms.Form):
    comment = forms.CharField(widget=forms.Textarea())

补充一下:到目前为止,我查看了所有关于标签和表单生成内容的文档。显然,这是可以去掉的,只是文档里没有告诉我怎么做。另外,我可以通过添加以下内容来去掉冒号:

label_suffix=None

我现在也尝试了在表单构造函数和charField构造函数中使用label、label_tag、label_prefix和prefix这些参数,但都没有效果。

作为构造函数中的一个参数,这些都不够。

有没有人知道怎么解决这个问题?

补充2:我改变了表单的做法:

class CommentForm(forms.Form):
    comment = forms.Textarea()

现在就只有这个了。这意味着问题出在Textarea上。我可以在textarea或表单中传入什么参数来解决这个问题呢?

3 个回答

0

试试这个:

class CommentForm(forms.Form):
    comment = forms.CharField(widget=forms.Textarea(), help_text="")
1

你试过这样做吗:

class CommentForm(forms.Form):
    comment = forms.CharField(widget=forms.Textarea(), label=None)

?

4

答案是:

class CommentForm(forms.Form):
    comment = forms.CharField(widget=forms.Textarea(), label='')

另外,在创建对象的时候,构造函数里不需要有auto_id,应该保持如下:

comment = new CommentForm()

撰写回答