使用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