1.在模版中可能也需要检查权限,为了避免每次调用render_template()时候传入Permission类,可通过使用上下文管理器,上下文管理器能让变量在所有模版中全局可访问
FlaskWeb/app/main/__init__.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
#
# Authors: limanman
# OsChina: http://my.oschina.net/pydevops/
# Purpose:
#
"""
from flask import Blueprint
from ..models import Permission
main = Blueprint('main', __name__, template_folder='templates', static_folder='static')
from . import views, errors
@main.app_context_processor
def inject_permissions():
return dict(Permission=Permission)
说明:通过@main.app_context_processor修饰函数,函数必须返回一个字典,字典的键值就是要全局模版访问的属性,这样在所有模版都可以访问我们定义的权限值了