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'))
    
  • 相关阅读:
    Typescript---01 数据类型
    微信小程序开发01 --- 微信小程序项目结构介绍
    C# 高级编程05----常用修饰符
    C# 高级编程04----类
    C# 高级编程02----手动创建C#程序
    C# 高级编程03----细节内容
    C# 高级编程01----.Net基础介绍
    Docker----起步(2)----在Ubuntu上安装最新版的Docker CE
    Microsoft Graph API -----起题 Graph API
    Docker----与Asp.net core 的完美结合,在docker容器中创建Asp.Net Core 项目
  • 原文地址:https://www.cnblogs.com/cuiyuanzhang/p/10235586.html
Copyright © 2011-2022 走看看