2013-01-01 75 views
0

我想发送邮件给填写我的django网站上的表单的每个用户。在为它编写代码之后,我得到了下面的错误。我一直在试图找出错误的原因,但没有成功。下面是我的代码:Django显示属性错误

AttributeError at /meek/ 
'NoneType' object has no attribute 'e_mail' 

查看

Subject='Welcome' 
message=loader.get_template('letter.txt') 
from_email='[email protected]' 


def gent_me(request): 
    if request.method=='POST': 
     form=GentForm(request.POST) 
     if form.is_valid(): 
      data=form.cleaned_data 
      newgent=Gent(
      pub_date=datetime.datetime.now(), 
      full_name=data['full_name'], 
      company_name=data['company_name'], 
      services=data['services'], 
      e_mail=data['e_mail'], 
      address=data['address'], 
      city=data['city'], 
      state=data['state'], 
      phone_no=data['phone_no']) 
     invite=newgent.save() 
     send_mail(Subject, message.render(Context()),from_email,[invite.e_mail]) 
     return HttpResponse('Thanks. Kindly check your mail.') 
     else: 
      return HttpResponse('Kindly fill form.') 
    else: 
     return render_to_response('ment.html',{'GentForm':GentForm},context_instance=RequestContext(request)) 

我怎样才能解决这个问题?

+1

请附上您的GentForm和根特类 – Brandon

+1

什么是Gent.save方法的返回? ....你可能想用newgent.e_mail代替invite.e_mail –

回答

0

Model.save方法的返回值为'None'。因此,在invite = newgent.save()为None之后的'invite'。取而代之的

invite=newgent.save() 

你应该做的

newgent.save() 

然后

send_mail(Subject, message.render(Context()),from_email,[newgent.e_mail]) 
+0

谢谢!有效!啤酒一定很高。新年快乐:) – picomon

+0

@picomon新年快乐! – XORcist