flask的上下文和环境处理器的一个记录

# @app.before_request
# def before_request():
#    user = current_user
#    if user is not None and user.is_authenticated():
#         userinfo = LoginUserManager.get(int(user.get_id()))
#         print (userinfo.Role)
#    #只对请求为admin的进行处理
#    if request.path.startswith("/admin") :
#        #从session中获取用户的角色,根据用户角色和URL从数据库中查询数据
#        print(request.path)
#    pass

@app.context_processor
def prepare_menu_data():
    user = current_user
    if user is not None and user.is_authenticated():
        MenuData = MenuManager.getCanVistMenuData( user.Role)
    else:
        MenuData =  MenuManager.getMenuData(1)
    return dict(adminmenudata=MenuData)

  在FLASK的登陆插件LOGIN中,用户的信息是存储在current_user中的,在后续的处理中可使用此方法来获取用户的信息,来完成一些相应的处理。python

 context_processor :数据库

环境处理器的做用是把新的变量自动引入模板环境中。环境处理器在模板被渲染前运行, 所以能够把新的变量自动引入模板环境中。它是一个函数,返回值是一个字典。在应用的 全部模板中,这个字典将与模板环境合并:session

   before_request:app

  上下文,能够用来处理一些相应的数据。函数

相关文章
相关标签/搜索