【问题标题】:django cleaned_data [help]django clean_data [帮助]
【发布时间】:2010-08-09 17:05:05
【问题描述】:

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

假设我有以下 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,他们使用了具有 clean_data 的旧版本 django ...我尝试过使用

from django import newforms as forms 

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

'LoginForm' object has no attribute 'cleaned_data'

【问题讨论】:

    标签: python django forms


    【解决方案1】:

    form.is_valid 是一个函数。把它当作

    if form.is_valid():
        # actions
    

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

    【讨论】:

    • 啊啊该死,所以这就是问题所在...我应该更仔细地阅读代码...无论如何谢谢 :)
    • @void:如果解决方案对您有用,则接受答案被认为是一种很好的形式:)
    猜你喜欢
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-27
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多