美文网首页
Flask-上下文

Flask-上下文

作者: 猴子精h | 来源:发表于2017-09-27 00:43 被阅读32次

Flask使用上下文让特定的变量在一个线程中全局可访问(例如:我们把request当作全局变量使用,事实上,request不可能是全局变量。试想,在多线程服务器中,多个线程同时处理不同客户端的不同请求时,没个线程看到的request对象必然不同),于此同时却不会干扰其他的线程;

在Flask中有两种上下文:程序上下文请求上下文;

Flask上下文全局变量

变量名 上下文 说明
current_app 程序上下文 当前激活程序的程序实例
g 程序上下文 处理请求时用作临时存储的对象。每次请求都会重设这个变量
request 请求上下文 请求对象,封装了客户端发出的HTTP请求内容
session 请求上下文 用户会话,用于存储请求之间需要“记住”的值的词典

Flask在分发请求之前激活程序和请求上下文,请求处理完成后再将其删除。程序上下文被激活后,就可以在线程中使用current_appg变量。类似,请求上下文被激活后,就可以使用requestsession变量;

下面通过python shell演示:

from hello import app
from flask import current_app

# 激活上下文
app_ctx = app.app_context()
app_ctx.push()   

print current_app.name

# 删除上下文
app_ctx.pop()

相关文章

  • Flask-上下文

    什么是上下文 上下文,英文context,叫它 引用池 或者 引用区 更加恰当。PageContext会把所能得到...

  • Flask-上下文

    Flask使用上下文让特定的变量在一个线程中全局可访问(例如:我们把request当作全局变量使用,事实上,req...

  • Flask 框架(2)-模板

    Flask-模板

  • python版websocket

    背景 目前看到实现websocket的框架的- django的channels- flask- sanic好奇,用...

  • flask-信号

    Flask框架中的信号基于blinker,其主要就是让开发者可是在flask请求过程中定制一些用户行为。 使用方法...

  • Flask-基础

    网页的分类 静态网页:无法与服务器进行交互的网页 动态网页:能够与服务器进行交互的网页 WEB与服务器 WEB 网...

  • Flask-模型

    模型 什么是模型 模型是根据数据库中表的结构来创建出来的class。每一张表到编程语言中就是一个class,表中的...

  • Flask-模板

    模板-Templates 什么是模板 模板是一个包含响应文本的文件(通常是html文件),该文件中允许包含"占位变...

  • Flask-路由

    路由(route) 什么是路由 客户端将请求发送给web服务器,web服务器再将请求发送给flask程序实例,程序...

  • Flask- 部署

    1.创建虚拟环境文件夹 mkdir src 2.创建虚拟环境virtualenv --no-site-packa...

网友评论

      本文标题:Flask-上下文

      本文链接:https://www.haomeiwen.com/subject/xghyextx.html