Django forms 错误:';unicode';对象没有属性';获取';
我犯了个错误,我快疯了 我创建了一个与模型关联的表单。每次在my views.py上执行form.is_valid()函数时,django都会显示以下错误: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
异常类型: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模板中的字段完全相同。谢谢大家的帮助!