在 Flask 中,通过在视图中使用 `flash` 函数和在模板中使用 `{% for message in get_flashed_messages() %}` 来重定向时闪现消息。Tornado 似乎没有内置类似的功能(这对我来说没关系,FWIW)。
到目前为止,我看到的唯一替代方法是这样的(this gist 的一部分):
到目前为止,我看到的唯一替代方法是这样的(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>
有更简洁的模式吗?
(我能看出来这个模式可以用于多条消息,也有几种简化的方法,但这不是我要问的。)