表单对象没有属性'Cleaned_Data' [英] form object has no attribute 'cleaned_data'

查看:0
本文介绍了表单对象没有属性'Cleaned_Data'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用Django文档生成一个表单。我不断收到错误:

'TestForm' object has no attribute 'cleaned_data'

即使form.is_validTrue(它会打印代码中的"Form is Valid"行)。以下是我的代码的相关部分。

urls.py

url(r'^test/',views.test),

forms.py

from django import forms
class TestForm(forms.Form):
    name = forms.CharField()

views.py

def test(request):
    if request.method == 'POST':
        form = TestForm(request.POST)
        if form.is_valid:
            print 'form is valid'
            print form.cleaned_data                       
        else:
            print 'form not valid'
    else:
         form = TestForm()

    return render_to_response('User/Test.html',{'form': form},context_instance=RequestContext(request))

Test.html

<form action="" method="post">{% csrf_token %}
        <table>
            {{ form.as_table }}
        </table>
        <input type="submit" value="Submit">
    </form>

推荐答案

您没有触发表单的清理和验证,这是通过调用is_valid()方法(请注意圆括号())完成的,这就是您没有清理数据的原因。

更正:

if request.method == 'POST':
    form = TestForm(request.POST)
    if form.is_valid():
        print 'form is valid'
        print form.cleaned_data
    ...

这篇关于表单对象没有属性&#39;Cleaned_Data&#39;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆