[英]How to hide default label Django Model forms?
当我使用带有 {{form}} 标签的模型表单时,我会为每个元素获取一个默认标签。 我可以从元类定义中删除它吗?
我的模型类:
class message(models.Model):
name = models.CharField(max_length=30)
email = models.EmailField(max_length=40)
contact = models.IntegerField(max_length=15)
message = models.CharField(max_length=1000,blank=True, null=True)
我的表单类:
class MessageForm(forms.ModelForm):
class Meta:
model = message
fields = '__all__'
widgets = {
'name' : forms.TextInput(attrs={"value":"Name", "onfocus":"this.value = '';","onblur":"if (this.value == '')","required":""}),
'email' : forms.TextInput(attrs={"value":"email", "onfocus":"this.value = '';","onblur":"if (this.value == '')","required":""}),
'contact' : forms.TextInput(attrs={"value":"contact", "onfocus":"this.value = '';","onblur":"if (this.value == '')","required":""}),
'message' : forms.Textarea(attrs={"value":"emmessage", "onfocus":"this.value = '';","onblur":"if (this.value == '')","required":""})
}
HTML代码:
<div class="col-md-6 mail_right">
<form action="" method="post" > {% csrf_token %}
{{form}}
</form>
</div>
使用labels
-- (django doc)元选项作为
class MessageForm(forms.ModelForm):
class Meta:
model = message
fields = '__all__'
labels = { "name": "UpdatedNameLabel", "email": "UpdatedEmailLabel" }
有多种方法可以做到这一点。 但是,为什么不将verbose_name
放在带有所需标签的模型字段定义中,或者如果将其留空,则标签不会显示。
所以,在models.py中:
start_date = models.DateField(verbose_name="Start date")
或者
start_date = models.DateField(verbose_name="")
另一个选项是在 forms.py 中:
email = forms.EmailField(label="")
这对你有用吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.