Django 不在表单字段中显示默认值
Django don't display default value in form field
我有一个很大的 django 表单,其中大多数选项都具有相同的默认值。
当用户进入表单时,他们必须先删除默认值才能输入信息。
我想我可以通过添加一个占位符来解决这个问题
widgets = {
'form_item': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'OEM'})
}
现在,当我加载表单时,它仍然输入了默认值文本,但如果您将其删除,则会显示占位符文本。
如何在表单域中不显示默认值文本
一种方法是删除您在模型中设置的默认值。
然后在 forms.py
中将所需属性设置为 False
。
widgets = {
'form_item': forms.TextInput(attrs={'class': 'form-control', 'required': False})
}
在您的表格中,清洁时执行类似
的操作
def clean_<field_name>(self):
value = self.cleaned_data[<field_name>]
if not value:
return 'OEM'
...whatever other cleaning you want
return value
如果 Django 确实将空字符串插入为有效(跳过 if 块),那么只需
if value == '':
...run logic
我有一个很大的 django 表单,其中大多数选项都具有相同的默认值。 当用户进入表单时,他们必须先删除默认值才能输入信息。
我想我可以通过添加一个占位符来解决这个问题
widgets = {
'form_item': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'OEM'})
}
现在,当我加载表单时,它仍然输入了默认值文本,但如果您将其删除,则会显示占位符文本。
如何在表单域中不显示默认值文本
一种方法是删除您在模型中设置的默认值。
然后在 forms.py
中将所需属性设置为 False
。
widgets = {
'form_item': forms.TextInput(attrs={'class': 'form-control', 'required': False})
}
在您的表格中,清洁时执行类似
的操作def clean_<field_name>(self):
value = self.cleaned_data[<field_name>]
if not value:
return 'OEM'
...whatever other cleaning you want
return value
如果 Django 确实将空字符串插入为有效(跳过 if 块),那么只需
if value == '':
...run logic