目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

Python全系列 教程

3567个小节阅读:5931.2k

收藏
全部开发者教程

鸿蒙应用开发

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(2k)
赞(0)

Flask_app上下文

image-20211108180109295

App上下文,也叫应用上下文

image-20211115150221037

上下文(感性的理解)

每一段程序都有很多外部变量,只有像add这种简单的函数才是没有外部变量的。 一旦一段程序有了外部变量,这段程序就不完整,不能独立运行。为了能让这段程序可以运行,就要给所有的外部变量一个一个设置一些值。就些值所在的集合就是叫上下文。

并且上下文这一概念在中断任务的场景下具有重大意义,其中任务在被中断后,处理器保存上下文并提供中断处理,因些在这之后,任务可以在同一个地方继续执行。(上下文越小,延迟越小)


举例

运行的Flask项目,每一个路由映射的内容片段,都不可以单独拿出来使用。

当获取到了APP_Context以后,就可以直接通过程序映射的地址访问逻辑,并且可以重复使用。

上下文的一个典型应用场景就是用来缓存一些我们需要在发生请求之前或者要使用的资源。举个例子,比如数据库连接。当我们在应用上下文中来存储东西的时候你得选择一个唯一的名字,这是因为应用上下文为 Flask 应用和扩展所共享。

应用上下文:

应用上下文是存放到一个LocalStack的栈中。和应用app相关的操作就必须要用到应用上下文

比如:

通过current_app获取当前的这个app名字。

image-20211108140902898

注意

在视图函数中,不用担心应用上下文的问题。因为视图函数要执行,那么肯定是通过访问url的方式执行的,

那么这种情况下,Flask底层就已经自动的帮我们把应用上下文都推入到了相应的栈中。


注意

如果想要在视图函数外面执行相关的操作,

比如: 获取当前的app名称,那么就必须要手动推入应用上下文

第一种方式:便于理解的写法

第二种方式:用with语句

实时学习反馈

1. 在Flask中,对于应用上下文说法错误的是?

A 可以通过app.app_context()获取上下文对象

B 若需要获取app对象的名称,必须将数据加入到堆的上下文中

C 视图访问时,不需要担心应用上下文的问题

D 应用上下文的数据,在请求之后会被全部释放

答案

1=>D

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2