flask中的上下文管理器(可设置变量在局的变量在模板中使用))

上下文处理器在flask中有 context_processorapp_context_processor
区别:

context_processor可在全局中使用
app_context_processor是在蓝图中使用

context_processorapp_context_processor我们可以让所有自定义变量在模板中可见,
如下面的代码,我们将email作为一个变量在所有模板中可见:

@main.app_context_processor
def admin_email():
    args =dict(
          email='[email protected]'
    (
    return args
  • 1、app_context_processor作为一个装饰器修饰一个函数。
  • 2、函数的返回结果必须是dict,届时dict中的key将作为变量在所有模板中可见。

定义了上述变量email中之后,我们直接在html模板中进行使用:

管理员邮箱:{{email}}

访问对应url,正确显示了邮箱地址,如果我们配置了邮箱客户端,就可以直接给目标邮箱直接发邮件了~

你可能感兴趣的:(flask中的上下文管理器(可设置变量在局的变量在模板中使用)))