django cleaning_data [帮助]

时间:2010-08-09 17:05:06

标签: python django forms

好吧所以我有以下问题我环顾四周但我找不到解决方案......

假设我有以下forms.py

from django import forms

class LoginForm(forms.Form):
    _username = forms.CharField()
    _password = forms.CharField()

并且在views.py中我有

def index(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
    else:
        form = LoginForm()

    if form.is_valid:
        username = form.cleaned_data['_username']
        password = form.cleaned_data['_password']
        if check_credential(username, password):
            request.session['_username'] = username
            request.session['_password'] = password
我正在使用         void @ void:〜$ django-admin --version         1.1.1

我正在使用djangobook来学习django他们使用了一个老版本的django,它有clean_data ...我尝试过使用

from django import newforms as forms 

但结果是一样的......

'LoginForm' object has no attribute 'cleaned_data'

1 个答案:

答案 0 :(得分:7)

form.is_valid是一个功能。将其用作

if form.is_valid():
    # actions

只有在is_valid()内部调用每个字段自己的clean方法后,表单才会有名为cleaned_data的dict。