GAE python:成功消息或在redi之后添加HTML类

2024-09-28 23:28:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个网站,上面有一个在谷歌应用程序引擎上运行的联系人表单。提交后,我想重定向并向用户显示一条消息,让他知道消息已发送,这可以是一条警告消息,也可以是向html标记添加一个类。我该怎么做?你知道吗

我的python文件如下所示:

import webapp2
import jinja2
import os
from google.appengine.api import mail

jinja_environment = jinja2.Environment(autoescape=True,loader=jinja2.FileSystemLoader(os.path.join(os.path.dirname(__file__), 'templates')))

class index(webapp2.RequestHandler):
    def get(self):
        template = jinja_environment.get_template('index.html')
        self.response.write(template.render())

    def post(self):
        vorname=self.request.get("vorname")
        ...
        message=mail.EmailMessage(sender="...",subject="...")

        if not mail.is_email_valid(email):
            self.response.out.write("Wrong email! Check again!")

        message.to="..."
        message.body=""" Neue Nachricht erhalten:
        Vorname: %s
        ... %(vorname,...)

        self.redirect('/#Kontakt')

app = webapp2.WSGIApplication([('/', index)], debug=True)

我已经在我的html文件中尝试过:

<script>
    function sentAlert() {
         alert("Nachricht wurde gesendet");
    }
</script>

<div class="submit">
    <input type="submit" value="Senden" onsubmit="return sentAlert()"   
     id="button-blue"/>
</div>

但它在重定向之前执行,因此不起作用。 有人知道怎么做吗?你知道吗


Tags: importself消息jinja2messagegetindexos
1条回答
网友
1楼 · 发布于 2024-09-28 23:28:54

重新定向后,将提供与发送电子邮件的邮件请求不同的请求。你知道吗

因此,您需要持久化关于跨请求发送的电子邮件的信息,将其保存在请求后处理程序代码中,并在随后的GET请求处理程序代码中检索它(无论是重定向的还是其他任何一个)。你知道吗

例如,要持久保存信息,可以使用用户的会话(如果已经有会话,请参见Passing data between pages in a redirect() function in Google App Engine)或GAE的memcache/datastore/GCS。你知道吗

一旦信息被检索到,你可以用任何你想用的方式。你知道吗

相关问题 更多 >