龙卷风:Flask的闪烁消息模式

时间:2015-03-01 10:24:25

标签: python flask tornado

Flask中,重定向上的闪烁消息是使用模板中视图+ flash中的{% for message in get_flashed_messages() %}函数完成的。龙卷风似乎没有内置的东西(这对我很好,fwiw)。

到目前为止,我所看到的只有替换才是这样(this gist的一部分):

class AuthLoginHandler(BaseHandler):
    def get(self):
        errormessage = self.get_argument("error", default="")
        self.render("login.html", errormessage = errormessage)

    def post(self):
        ...(code)...
        if not auth:
            error_msg = u"?error=" + tornado.escape.url_escape("Login incorrect")
            self.redirect(u"/auth/login/" + error_msg)

然后在模板中:

 <span class="errormessage">{{errormessage}}</span>

是否有更清洁的图案?

(我可以看到如何用这种模式做多个消息,以及几种清理它的方式,但这不是我要问的。)

1 个答案:

答案 0 :(得分:7)

Flask的Flash默认使用Cookie,因此直接翻译将使用self.set_secure_cookie("flash", message)设置消息,self.get_secure_cookie("flash"); self.clear_cookie("flash")将其读回。