作家
登录

Flask中的请求上下文和应用上下文

作者: 来源: 2017-05-11 16:04:38 阅读 我要评论

'stack': [0]} 
  •  
  •  
  • 由膳绫擎的例子可以看出,存储在LocalStack中的信息以字典的情势存在:键为线程/协程的标识数值,值也是字典情势。每当有一个线程/协程上要将一个对象push进LocalStack栈中,会形成如上一个“键-值”对。如许的一种构造很好地实现了线程/协程的隔离,每个线程/协程都邑根据本身线程/协程的标识数值肯定存储在栈构造中的值。

    下面以一个多应用的例子进行解释:

    LocalStack还实现了push、pop、top等办法。个中top办法永远指向栈顶的元素。栈顶的元素是指当前哨程/协程中最后被推入栈中的元素,即local_stack._local.stack[-1](留意,是stack键对应的对象中最后被推入的元素)。

    请求高低文

    Flask中所有的请求处理都在“请求高低文”中进行,在它设计之初便就有这个概念。因为0.9版本代码比较复杂,这里照样以0.1版本的代码为例进行解释。本质上这两个版本的“请求高低文”的运行道理没有变更,只是新版本增长了一些功能,这点在后面再进行解释。

    请求高低文——0.1版本

    1. # Flask v0.1 
    2.  
    3. class _RequestContext(object): 
    4.  
    5.     """The request context contains all request relevant information.  It is 
    6.  
    7.     created at the beginning of the request and pushed to the 
    8.  
    9.     `_request_ctx_stack` and removed at the end of it.  It will create the 
    10.  
    11.     URL adapter and request object for the WSGI environment provided. 
    12.  
    13.     ""
    14.  
    15.   
    16.  
    17.     def __init__(self, app, environ): 
    18.  
    19.         self.app = app 
    20.  
    21.         self.url_adapter = app.url_map.bind_to_environ(environ) 
    22.  
    23.         self.request = app.request_class(environ) 
    24.  
    25.         self.session = app.open_session(self.request) 
    26.  
    27.         self.g = _RequestGlobals() 
    28.  
    29.         self.flashes = None 
    30.  
    31.   
    32.  
    33.     def __enter__(self): 
    34.  
    35.         _request_ctx_stack.push(self) 
    36.  
    37.   
    38.  
    39.     def __exit__(self, exc_type, exc_value, tb): 
    40.  
    41.         # do not pop the request stack if we are in debug mode 

        推荐阅读

        2025年全球数据将攀升至163ZB,10倍的数据增长来源于哪?

      【51CTO.com原创稿件】比来,希捷科技与IDC合营宣布了一份名为《数据时代2025》的数据成长趋势申报,这份白皮>>>详细阅读


      本文标题:Flask中的请求上下文和应用上下文

      地址:http://www.17bianji.com/lsqh/35165.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)