0

我正在尝试在用户注册我的 django webapp 时向他们发送邮件。在尝试以下代码后,它将从模板中获取消息并以可读格式将其呈现在用户电子邮件中。但它一直这样显示;

   <django.template.base.Template object at 0x033079D0>

而不是模板中的可读格式。我希望它以可读的文本显示,而不是像上面的格式。

意见:

     Subject='Beta Invite'
     message=loader.get_template('letter.html')
     from_email='test@gmail.com'

      def invite_me(request):
          if request.method=="POST":
              form=InviteForm(request.POST)
              if form.is_valid():
                 form.save()
                 #get input data and send email to the user.
                 msg=EmailMessage(Subject,message,from_email,Invite.objects.values_list('email_address', flat=True))
                 msg.send()
                 return HttpResponse('Thanks For Inputting Your Email, Go Check Your Email For Our Invite!')
            else:
                return HttpResponse('Invalid Email Address')
        else:
            form=InviteForm()
            return render_to_response('home.html',{'InviteForm':InviteForm},context_instance=RequestContext(request))
4

1 回答 1

2

您需要调用模板渲染方法。就像是:

msg=EmailMessage(Subject, message.render(Context()),
    from_email, Invite.objects.values_list('email_address', flat=True))

注意:如果您有模板的“上下文”,则需要将其传递给 Context()。

请在此处查看文档。他们有一些很好的例子(几乎就是这个问题)

于 2012-10-02T22:08:39.287 回答