django cleaning_data [帮助]

0 python forms django

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

假设我有以下forms.py

from django import forms

class LoginForm(forms.Form):
    _username = forms.CharField()
    _password = forms.CharField()
Run Code Online (Sandbox Code Playgroud)

在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
Run Code Online (Sandbox Code Playgroud)

我正在使用void @ void:〜$ django-admin --version 1.1.1

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

from django import newforms as forms 
Run Code Online (Sandbox Code Playgroud)

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

'LoginForm' object has no attribute 'cleaned_data'
Run Code Online (Sandbox Code Playgroud)

sim*_*rsh 7

form.is_valid是一个功能.用它作为

if form.is_valid():
    # actions
Run Code Online (Sandbox Code Playgroud)

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

  • @void:如果解决方案适合你,那么接受答案被认为是好的形式:) (4认同)