Django只读表单字段不会出现在已清理的数据中

时间:2017-10-12 17:53:37

标签: django

在我的表单中,我将此字段更改为只读

class myForm(forms.Form):
...
     database = forms.CharField(label='Database', widget=forms.TextInput(attrs='style':'width:164px','readonly':'readonly'}), initial='production')

我可以在浏览器上看到表单中的初始值,但是当我尝试检索代码中的值时

def clean(self):
        cleaned_data = super(ReportForm, self).clean()
        print "CLEANED DATA ",cleaned_data
        database = cleaned_data['database'] # this throws an error

cleaning_data包含除数据库之外的所有其他表单项 在添加attrs readonly之前它工作正常

1 个答案:

答案 0 :(得分:2)

只读字段的数据在cleaning_data中不可用。这是因为只读字段显示为文本而不是输入元素,因此不会回发到服务器,所以不在清理的数据中。