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

  上下文,能夠用來處理一些相應的數據。函數

相關文章
相關標籤/搜索