dee*_*ash 4 python forms django
当我使用带有 {{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)
Run Code Online (Sandbox Code Playgroud)
我的表格类:
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":""})
}
Run Code Online (Sandbox Code Playgroud)
HTML 代码:
<div class="col-md-6 mail_right">
<form action="" method="post" > {% csrf_token %}
{{form}}
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
使用labels-- (django doc)元选项作为
class MessageForm(forms.ModelForm):
class Meta:
model = message
fields = '__all__'
labels = {
"name": "UpdatedNameLabel",
"email": "UpdatedEmailLabel"
}Run Code Online (Sandbox Code Playgroud)
有多种方法可以做到这一点。但是,为什么不将verbose_name模型字段定义与所需的标签一起放入,或者如果将其留空,则标签将不会显示。
所以,在 models.py 中:
start_date = models.DateField(verbose_name="Start date")
Run Code Online (Sandbox Code Playgroud)
或者
start_date = models.DateField(verbose_name="")
Run Code Online (Sandbox Code Playgroud)
另一个选项在 forms.py 中:
email = forms.EmailField(label="")
Run Code Online (Sandbox Code Playgroud)
这对你有用吗?
| 归档时间: |
|
| 查看次数: |
2636 次 |
| 最近记录: |