龙卷风(Tornado):Flask闪现消息的模式

4
在 Flask 中,通过在视图中使用 `flash` 函数和在模板中使用 `{% for message in get_flashed_messages() %}` 来重定向时闪现消息。Tornado 似乎没有内置类似的功能(这对我来说没关系,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个回答

7

Flask的闪现默认使用cookies,因此一种直接的翻译方式是使用self.set_secure_cookie("flash", message)来设置消息,而用self.get_secure_cookie("flash"); self.clear_cookie("flash")来读取它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接