Django forms 错误:';unicode';对象没有属性';获取';

Django forms 错误:';unicode';对象没有属性';获取';,django-forms,Django Forms,我犯了个错误,我快疯了 我创建了一个与模型关联的表单。每次在my views.py上执行form.is_valid()函数时,django都会显示以下错误: 异常类型:AttributeError 异常值:“unicode”对象没有属性“get” models.py from django.db import models class Register(models.Model): email = models.CharField(max_lenght=100) forms.py f

我犯了个错误,我快疯了

我创建了一个与模型关联的表单。每次在my views.py上执行form.is_valid()函数时,django都会显示以下错误:

异常类型:AttributeError

异常值:“unicode”对象没有属性“get”

models.py

from django.db import models

class Register(models.Model):
    email = models.CharField(max_lenght=100)
forms.py

from django.form import ModelForm
from models.models import Register

class RegisterForm(ModelForm):
    class Meta:
        model = Register
views.py

from django.shortcuts import render_to_response
from models.models import Register
from register.forms import RegisterForm

def register(request):
    if 'user_email' in request.POST:
        form = RegisterForm(request.POST['user_email'])
        if form.is_valid():
            form.save()
            retunr render_to_response('registered.html')

    return render_To_response('main.html') 
PS_1:我在另一个页面中显示表单的值,以检查它是否只包含电子邮件,它是否正常,它只包含电子邮件

PS_2:request.POST包含“用户电子邮件”确定

拜托,你能帮我解决这个问题吗

提前感谢。

此行:

form = RegisterForm(request.POST['user_email'])
这是不正确的<代码>表单s应传递完整映射

form = RegisterForm(request.POST)

然后字段名将不同,但这是一个单独的问题(因为您似乎没有在页面中输出表单)。

问题是,如果我删除['user_email'],那么当django检查
form.is_valid()
,它总是返回false我得到了问题的答案!问题是我将电子邮件id标识为“user_email”,而不是“email”。验证表单时,表单字段的名称应与request.POST中html模板中的字段完全相同。谢谢大家的帮助!