错误:'unicode'对象没有属性'get'

时间:2013-02-03 08:36:37

标签: django-forms

我收到错误,我疯了!

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

Exception Type: AttributeError

Exception Value: 'unicode' object has no attribute '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包含'user_email'确定。

拜托,你能帮我解决一下吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

这一行:

form = RegisterForm(request.POST['user_email'])

不正确。 Form应该传递完整的映射。

form = RegisterForm(request.POST)

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