我试图根据另一个字段的输入将表单字段的必需项更改为“False”。在
形式:
class MyNewForm(forms.Form):
def __init__(self, *args, **kwargs):
self.users = kwargs.pop('users', None)
super(MyNewForm, self).__init__(*args, **kwargs)
self.fields['name'] = forms.CharField(
max_length=60,
required=True,
label="Name *:",
widget=forms.TextInput(
attrs={'class' : 'form-control', 'placeholder': 'Name'})
)
def clean_this_other_field(self):
# change required field
name = self.fields['name']
print name.required
name.required=False
print name.required
打印结果:
正确
错误
因此,所需字段将更改为“False”,但当表单页重新加载时,它将恢复为“True”
有什么建议吗?在
EDIT - Problem solved
对于有类似问题的人来说:
^{pr2}$Remove是表单中的第一个字段,因此在Remove字段上添加这个clean可以解决这个问题。在
当这个问题出现时,你能给出更多的代码吗?在
如果您使用ModelForm,您可以执行以下操作:
Django Model Forms - Setting a required field
U也可以使用widget添加所需的内容:
^{pr2}$相关问题 更多 >
编程相关推荐