GAE での jinja2 のテンプレート化に取り組んでいます。私がやろうとしているのは、テンプレート全体を再度レンダリングせずに、レンダリングされたテンプレートにステータス メッセージを表示することです。
メールの送信を処理する webapp2 要求ハンドラーがあります。エラー例外の場合、ページにメッセージを表示したいと思います。メールが正常に送信された場合も同様です。
テンプレートをレンダリングし、msg をテンプレート値として渡します。テンプレート全体が再びレンダリングされるので、これは物事を行う方法ではないことがわかります。私がやりたいことは、単純にメッセージを渡すことです。
class ContactoPage(webapp2.RequestHandler):
global template
template = jinja_environment.get_template('contacto.html')
def get(self):
self.response.out.write(template.render({'mail_status':''}))
def post(self):
userMail=self.request.get("emailFrom")
if not mail.is_email_valid(userMail):
self.response.out.write(template.render({'mail_status':'wrong mail address'}))
return
subject="Test Mail"
userMessage=self.request.get("emailBody")
message=mail.EmailMessage(sender="dennisargeomatica@gmail.com",subject="Test")
message.to=userMail
message.body=("Thank you! \n"
"Your mail: %s \n"
"Subject: %s \n"
"Message: %s \n"
%(userMail,subject,userMessage))
message.send()
self.response.out.write(template.render({'mail_status':'rudy, a msg to you'}))
Thx、デニス