当前位置: 首页 > news >正文

家里电脑可以做网站空间吗淘宝竞价排名

家里电脑可以做网站空间吗,淘宝竞价排名,网站建设报价方案下载,推广普通话活动请求上下文和应用上下文详解 一、背景二、什么是上下文2.1、请求上下文2.2、应用上下文2.3、两种上下文的底层逻辑 三、写在最后 一、背景 在如何实现异步发送邮件的时候,遇到过这样一个报错 RuntimeError: Working outside of request context.This typically me…

请求上下文和应用上下文详解

    • 一、背景
    • 二、什么是上下文
      • 2.1、请求上下文
      • 2.2、应用上下文
      • 2.3、两种上下文的底层逻辑
    • 三、写在最后

一、背景

在如何实现异步发送邮件的时候,遇到过这样一个报错

RuntimeError: Working outside of request context.This typically means that you attempted to use functionality that
needed an active HTTP request. Consult the documentation on testing
for information about how to avoid this problem.

当时虽然是在请求里使用的curent_app方法,已经有了请求上下文和应用上下文,但是任然报错,终究原因是没有记住文档上说的current_app的含义,它只是个代理,每个线程都是隔开的,一个线程一个id;它是根据id去找的,就好比说一开始current_app的id是1,然后新开了一个线程,新线程的id是2,那我在2里使用1,肯定就找不到喽,如何解决文档上也有说,使用current_app._get_current_object()就可以了,
在这里插入图片描述
代码里就是这样,而不是直接传递current_app
在这里插入图片描述

二、什么是上下文

上下文是 context 直译的叫法,在程序中用来表示代码执行过程中所处的前后环境,比如在文件操作时,文件需要打开关闭,而文件读写操作就处于文件操作的上下文环境中。

Flask中有两种上下文:请求上下文(文档点这里查看)和应用上下文(文档点这里查看),

  • 1、请求上下文(Request Context):当处理请求时,请求相关的信息会被存储在请求上下文中,例如请求参数、请求头、请求方法、当前的URL以及与请求相关的其他信息。请求上下文可以通过request对象访问。

  • 2、应用上下文(Application Context):应用上下文包含了关于应用的配置和状态的信息,例如配置对象、数据库连接、注册的蓝图等。在应用上下文中,可以使用current_app和g对象访问这些信息。

请求上下文和应用上下文是由Flask的调用栈自动创建和销毁的,不需要手动处理

2.1、请求上下文

在 flask 中,可以直接在视图函数中使用 request 这个对象进行获取相关数据,而 request 就是请求上下文的对象,保存了当前本次请求的相关数据,请求上下文对象有:request、session

  • request:封装了HTTP请求的内容,针对的是http请求。举例:user = request.args.get(‘user’),获取的是get请求的参数。
  • session:用来记录请求会话中的信息,针对的是用户信息。举例:session[‘name’] = user.id,可以记录用户信息。还可以通过session.get(‘name’)获取用户信息。

2.2、应用上下文

它的字面意思是 应用上下文,但它不是一直存在的,它只是request context 中的一个对 app 的代理(人),所谓local proxy。它的作用主要是帮助 request 获取当前的应用,它是伴 request 而生,随 request 而灭的。
类型是LocalProxy,像全局变量一样工作,但只能在处理请求期间且在处理它的线程中访问,返回的栈顶元素不是应用上下文,而是flask的应用实例对象。

应用上下文的封装 = flask核心对象+和外部协作对象(在flask封装对象上再添加push、pop等)(请求上下文同理)
应用上下文是存放到一个 LocalStack 的栈中。和应用app相关的操作就必须要用到应用上下文。

2.3、两种上下文的底层逻辑

两者的底层逻辑可以参考这里大佬详解1和大佬详解2,以为已经有了请求上下文,为什么还要有应用上下文,这大佬的文章里也有解释:
在这里插入图片描述

三、写在最后

这是我比较懒的一次,因为太偏底层,我也讲述不出来,只能前人栽树后人乘凉了哈

http://www.khdw.cn/news/30883.html

相关文章:

  • 京东网站建设策略百度业务推广
  • 济南网站APP优化网站标题是什么意思
  • 怎么管理网站添加代码黑帽seo培训多少钱
  • 做网站做什么类型 比较赚钱培训机构咨询
  • 江门网站建设公司哪家好seo都用在哪些网站
  • 成都网站建设市场企业推广语
  • 制作一号店网站旅游最新资讯
  • 临沂网站建设服务网站优化排名易下拉霸屏
  • 整屏滚动网站佛山关键词排名工具
  • 公司网站可以做服务器吗如何做好营销
  • 汽车门户网站有哪些最佳bt磁力猫
  • vs网站开发如何发布哪个平台视频资源多
  • 新型塑料建筑模板图片seo收费标准多少
  • 怀柔住房和城乡建设委官方网站seo整站优化什么价格
  • 模拟建筑2022手机版北京网站seo招聘
  • 滨江道网站建设软件拉新推广平台
  • jsp网站开发源码实例获客引流100种方法
  • 现在手机网站用什么做的seo 优化是什么
  • 先做网站后备案2345浏览器官网
  • wordpress 独立站百度招商加盟
  • 广州品牌网站建设网络推广的目标
  • 广东网站建设教程aso关键词优化计划
  • 织梦网站内部优化百度关键词怎么刷上去
  • 推广的网站需要备案吗电销外包团队在哪找
  • 购买了网站空间如何进入网站媒体推广
  • 门户网站维护怎么做搜索推广渠道
  • 做网站需要的法律知识登录百度账号
  • 自助建站自己要做网站的来看下南京百度快照优化排名
  • 长春做网站seo点石论坛
  • 做网站在seo外链建设方法