django cleaned_data [帮助]
好的,我遇到了一个问题,我查了很多地方,但找不到解决办法...
假设我有以下的 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
我正在用《Django书》来学习 Django,但他们用的是一个旧版本的 Django,里面有 clean_data ...我尝试使用
from django import newforms as forms
但结果还是一样...
'LoginForm' object has no attribute 'cleaned_data'
1 个回答
7
form.is_valid
是一个函数。你可以这样使用它:
if form.is_valid():
# actions
只有在 is_valid()
这个函数内部调用了每个字段自己的清理方法之后,表单才会有一个叫 cleaned_data
的字典。