根据Django教程,您应该使用cleaned_data字典访问表单字段。我想知道为什么我无法直接访问表单的属性?我的表单验证很好,但是当我尝试访问它时,Django抱怨对象没有该属性。我在下面添加了一些代码,希望能帮助诊断问题。在django视图中访问表单字段作为属性
形式:
class CustomForm(forms.Form):
description = forms.CharField(widget = forms.TextInput(attrs = {'placeholder' : 'enter some text'}), label = "My form")
查看:
def process_form(request):
if request.method != 'POST':
raise Http404
myForm = CustomForm(request.POST)
if not myForm.is_valid():
c = RequestContext(request)
return render_to_response('home/index.html', {'form' : myForm }, c)
# debug
print 'Description: ' + myForm.description # this does NOT work
# print 'Description: ' + myForm.cleaned_data['description'] # this does work
我得到以下错误: 'CustomForm' 对象有没有属性 '的描述'。我在文档中错过了一些说我无法做到的事情吗?
我知道我可以使用cleaned_data访问它。我不明白的是为什么我无法使用属性本身访问它:myForm.description。在引擎盖下究竟发生了什么,阻止我访问它? – 2012-03-13 16:20:18