Python 对象没有clean_数据属性Django

Python 对象没有clean_数据属性Django,python,django,Python,Django,所以我一直在做我的第一个Django项目,我遇到了一个我无法解决的问题。运行dev服务器时,出现以下错误: AttributeError at /register/ 'RegistrationForm' object has no attribute 'clean_data' 我浏览过论坛,运气不好。 代码如下: 浏览网页: def register_page(request): if request.method=='POST': form=RegistrationF

所以我一直在做我的第一个Django项目,我遇到了一个我无法解决的问题。运行dev服务器时,出现以下错误:

AttributeError at /register/
'RegistrationForm' object has no attribute 'clean_data'
我浏览过论坛,运气不好。 代码如下:

浏览网页:

def register_page(request):
    if request.method=='POST':
        form=RegistrationForm(request.POST)
    if form.is_valid():
        user = User.objects.create_user(
            username=form.clean_data['username'],
            password=form.clean_data['password1'],
            email=form.clean_data['email'])
        return HttpResponseRedirect('/')
    else:
        form = RegistrationForm()
    variables = RequestContext(request, {
        'form': form})
    return render_to_response(
        'registration/register.html',
        variables
        )
表格页:

class RegistrationForm(forms.Form):
    username = forms.CharField(label='Username', max_length=30)
    email = forms.EmailField(label='Email')
    password1 = forms.CharField(
        label='Password (Again)',
        widget=forms.PasswordInput()
    )
    password2 = forms.CharField(
        label='Password (Again)',
        widget=forms.PasswordInput()
    )

    def clean_password2(self):
        if 'password1' in self.clean_data:
            password1 = self.clean_data['password1']
            password2 = self.clean_data['password2']
            if password1 == password2:
                return password2
            raise forms.ValidationError('Passwords do not match.')

    def clean_username(self):
        username = self.clean_data['username']
        if not re.search(r'^\w+$', username):
            raise forms.ValidationError('Username can only contain'
                                        'alphanumeric characters and the underscore.')
        try:
            User.objects.get(username=username)
        except ObjectDoesNotExist:
            return username
        raise forms.ValidationError('Username is already taken.')
谢谢,
Seth

您错贴了属性的名称。改用
清洁的\u数据

您将属性的名称拼错了。改用
清洁的\u数据

您将属性的名称拼错了。改用
清洁的\u数据

您将属性的名称拼错了。改用
清洁的\u数据

尝试使用
cleaned_data
效果很好…这个社区太棒了!尝试使用
cleaned_data
效果很好…这个社区太棒了!尝试使用
cleaned_data
效果很好…这个社区太棒了!尝试使用
cleaned_data
效果很好…这个社区太棒了!