flask系列2-请求生命周期

请求生命周期

-请求上下文ctx:
    -request
    -session
-应用上下文:app_ctx:
    -g
    -current_app

-ctx=RequestContext(envion)
    -ctx对象中包装了一些东西:request对象,session

-LocalStack:自己定义的Local

_request_ctx_stack={'线程id':{'stack':[ctx,]}}

_app_ctx_stack={'线程id':{'stack':[app_ctx,]}}

-请求生命周期:
    -请求来了
    -生成ctx=里面放了request,和session
    -生成app_ctx=里面放了g,current_app
    -把他俩都放到全局变量中
    -放进session
    -执行before_request
    -执行视图函数
    -执行after_request
    -执行save_session
    -最终,不管是否报异常,都执行auto_pop(从全局变量中把ctx和app_ctx剔除)
    
-执行视图函数:
    -LocalProxy
    request.method

-g当次全局变量(只在当次请求有效)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容