问题描述
在我们的 jinja 模板中,我们有一段代码试图为当前用户创建一个跨度:
<span class="fa fa-user"></span> {{g.user.get_full_name()}}
但是,如果用户碰巧清除了浏览器上的 cookie,这个 g.user.get_full_name 函数将不再存在,从而导致应用程序崩溃。
我不一定要在清除 cookie 时重建/保留 g.user 本地代理,但我至少希望应用程序能够优雅地处理它,也许重定向到登录页面。有没有办法为任意 g.user.x 引用捕获这些异常?
解决方法
你可以使用类似的东西
{{g.user.get_full_name() if g.user is not None else "do something"}}
或在后端添加检查并在不存在时重定向