flask中的上下文处理器 - app_context_proc
2019-07-20 本文已影响0人
Dozing
app_context_processor
在flask
中被称作上下文处理器,借助app_context_processor
我们可以让所有自定义变量在所有模板中全局可访问,如下面的代码,我们将email作为一个变量在所有模板中可见:
@main.app_context_processor
def admin_email():
email='879651072@qq.com'
return dict(email='879651072@qq.com')
-
app_context_processor
作为一个装饰器修饰一个函数。 - 函数的返回结果必须是
dict
,届时dict
中的key
将作为变量在所有模板中可见。
定义了上述变量email
中之后,我们直接在html模板中进行使用:
管理员邮箱:<a href="mailto:{{email}}">{{email}}</a>
访问对应url
,正确显示了邮箱地址,如果我们配置了邮箱客户端,就可以直接给目标邮箱直接发邮件了~

参考资料
文章