zoukankan      html  css  js  c++  java
  • 关于上下文

    context(上下文)是什么

    发现很多人对context不能理解,这里对网上的几种理解方式进行整理和解答。

    • 把context成当前程序之前的状态和接下来的状态,当我们执行程序的时候,很多时候需要调用一些外部变量,如果没这些外部变量,程序就运行不起来,也就是说我们要让程序运行起来就要把这些变量赋值,赋值外部变量的过程就叫做上文,而我们将要达到的状态就叫做下文。
    • 把context理解成为环境,在编程中,一些编程构建需要考虑到当前的运行环境,才能理解他的运行结果,就像浏览一篇文章,直接看其中的某一句话,并不能理解其中的意思,谈到这让我想起了公务员考试申论中的语意题,就是让考生联系上下文给出解答。
    • 同样大的操作在不同上下文中的结果是不同的,在windows系统中,通过右键点击出现的 菜单英文就是(context menu),在桌面上的点击和在文件夹中的点击结果是不一样的,Windows就是通过上下文来判断输出哪种菜单。

    context in Flask

    在flask中有两种上下文:application contextrequest context,即应用上下文和请求上下文。
    源码定义:

    def _lookup_req_object(name):
        top = _request_ctx_stack.top
        if top is None:
            raise RuntimeError(_request_ctx_err_msg)
        return getattr(top, name)
     
     
    def _lookup_app_object(name):
        top = _app_ctx_stack.top
        if top is None:
            raise RuntimeError(_app_ctx_err_msg)
        return getattr(top, name)
     
     
    def _find_app():
        top = _app_ctx_stack.top
        if top is None:
            raise RuntimeError(_app_ctx_err_msg)
        return top.app
     
     
    # context locals
    _request_ctx_stack = LocalStack()
    _app_ctx_stack = LocalStack()
    current_app = LocalProxy(_find_app)
    request = LocalProxy(partial(_lookup_req_object, 'request'))
    session = LocalProxy(partial(_lookup_req_object, 'session'))
    g = LocalProxy(partial(_lookup_app_object, 'g'))
    
  • 相关阅读:
    《AngularJS》5个实例详解Directive(指令)机制
    angularjs入门学习【指令篇】
    --@angularJS--综合小实例1
    --@angularJS--angular与BootStrap3的应用
    --@angularJS--ng-show应用
    --@angularJS--浅谈class与Ng-Class的应用
    --@angularJS--路由插件UI-Router
    --@angularJS--路由、模块、依赖注入
    Bootstrap兼容IE8
    ANGULAR JS PROMISE使用
  • 原文地址:https://www.cnblogs.com/cuiyuanzhang/p/10235586.html
Copyright © 2011-2022 走看看