2

我遇到了一个错误,我快疯了!

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

Exception Type: AttributeError

Exception Value: 'unicode' object has no attribute 'get'

模型.py

from django.db import models

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

表格.py

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

class RegisterForm(ModelForm):
    class Meta:
        model = Register

视图.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”。

拜托,你能帮我解决它吗?

提前致谢。

4

1 回答 1

0

这一行:

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

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

form = RegisterForm(request.POST)

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

于 2013-02-03T08:41:22.243 回答