Flask把变量注册到模板中

使用python的Flask框架时,参考《Flask Web开发》一书时,发现书中可以在全局使用Permission.FOLLOW变量。

但是自己在尝试是,确提示变量没有定义。经过搜索,找到了答案。

在Flask框架中,把变量注册到全局,有两个方法:

1、在主app或者蓝本中通过装饰器注册

@app.context_processor
def include_permission_class():
    return {'Permission': Permission}

2、添加到jinja的全局名称空间中

app.add_template_global(Permission, 'Permission')

这个问题困扰了半个下午,最终还是在http://stackoverflow.com找到了答案。

问题参考链接:

http://stackoverflow.com/questions/29257476/how-can-i-make-a-class-variable-available-to-jinja2-templates-with-flask

原文地址:https://www.cnblogs.com/StitchSun/p/5396033.html