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

テンプレートの render メソッドを呼び出す必要があります。何かのようなもの:

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

注: テンプレートの「コンテキスト」がある場合は、それを Context() に渡す必要があります。

こちらのドキュメントをご覧ください。彼らはいくつかの良い例を持っています(ほぼ正確にこの問題)

于 2012-10-02T22:08:39.287 に答える