在我的表单中,我将此字段更改为只读
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之前它工作正常
答案 0 :(得分:2)
只读字段的数据在cleaning_data中不可用。这是因为只读字段显示为文本而不是输入元素,因此不会回发到服务器,所以不在清理的数据中。