WSGI application接收两个参数:“environment”和“start_response”。
requestclass 可以包装environ,方便对environ进行操作

from werkzeug.wrappers import Request, Responsedef application(environ, start_response):request = Request(environ)response = Response("Hello %s!" % request.args.get('name', 'World!'))return response(environ, start_response)

也可以写成

from werkzeug.wrappers import Request, Response@Request.application
def application(request):return Response("Hello %s!" % request.args.get('name', 'World!'))

使用requestclass需要遵守以下规则:
1.requestobject是不可变的,不要试图改变他的属性
2.requestobject可以在线程中共享,但不是线程安全的,如果想在多线程中获得它,使用locks
3.不可以序列化requestobject

class werkzeug.wrappers.BaseRequest(environ, populate_request=True, shallow=False)
属性 描述
environ
shallow
_get_file_stream
access_route
classmethod application(f)
args
base_url
charset = ‘utf-8’
close()
cookies
data
dict_storage_class
disable_data_descriptor = False
encoding_errors = ‘replace’
files
form
form_data_parser_class
classmethod from_values(*args, **kwargs)
full_path
get_data(cache=True, as_text=False, parse_form_data=False)
headers
host
host_url
is_multiprocess

参考:
https://werkzeug.palletsprojects.com/en/1.0.x/wrappers/?highlight=request#base-wrappers

werkzeug Request相关推荐

  1. werkzeug源码解析 Request Response

    werkzeug源码解析 Request Response datastructures datastructures.py单元定义了基本类型 为了实现不可修改,定义了一系列Immutable类,通过 ...

  2. Flask一:安装初始,return方式,Request,Jinja2,session

    一:安装和初始 1.Flask 安装 + 启动from flask import Flaskapp = Flask(__name__) # 实例化flask对象 # __name__ 多app应用,分 ...

  3. Werkzeug 与 WSGI 介绍

    Werkzeug 是一个WSGI工具包,也可以作为一个Web框架的底层库. WSGI 在介绍Werkzeug之前,先介绍一下 WSGI(Python Web Server Gateway Interf ...

  4. Python Web 框架工具包 werkzeug

    一.什么是werkzeug werkzeug 官方的介绍说是一个 WSGI 工具包,不是一个web服务器,也不是一个web框架,它可以作为一个 Web 框架的底层库,因为它封装好了很多 Web 框架的 ...

  5. Werkzeug 教程

    欢迎来到 Werkzeug 教程,我们将会实现一个类似 TinyURL 的网站来储存 URLS.我们 将会使用的库有模板引擎 Jinja 2,数据层支持 redis ,当然还有 WSGI 协议层 We ...

  6. websocket工作原理

    websocket工作原理 websocket是什么? websocket是一套类似于http的协议. 扩展: http协议:\r\n分割.请求头和请求体\r\n分割.无状态.短连接. {'GATEW ...

  7. Flask中的请求上下文和应用上下文

    在Flask中处理请求时,应用会生成一个"请求上下文"对象.整个请求的处理过程,都会在这个上下文对象中进行.这保证了请求的处理过程不被干扰.处理请求的具体代码如下: def wsg ...

  8. python--Websocket实现, 加密 sha1,base64

    需要用到gevent-websocket包,这里我们用下图这个 一.websocket简单实现 ep1.py from geventwebsocket.handler import WebSocket ...

  9. session 的 源码

    session 的 源码 1.session 和 cookie 的 区别: 答: cookie 它是保存在浏览器的键值对. session 它是保存在服务端的键值对.  它 依赖cookie 存在. ...

最新文章

  1. 推荐IronPython开发IDE: IronPython Studio
  2. 小甲鱼python视频解读_小甲鱼python视频弟十二讲(关于字符串的方法及注释下)...
  3. Java黑皮书课后题第9章:**9.12(几何:交点)假设两条线段相交。第一条线段的两个端点是(x1, y1)和(x2, y2),第二条线段的两个端点是(x3, y3)和(x4, y4)
  4. 时间转换python_Python 日期与时间转换的方法
  5. 1.8 其他正则化方法
  6. Tomcat学习总结(17)—— Tomcat生产环境中域名访问和连接MySQL
  7. 项目如何开始:怎样和客户一起搞定需求
  8. pythonqt项目_Qt项目之高亮关键字Python编辑器实现
  9. 解决“ValueError: Stop argument for islice() must be None or an integer: 0 <= x <= sys.maxsize.”
  10. 安卓蓝牙键盘按键映射_键盘按键映射器安卓版
  11. PS 矩形工具的使用
  12. 【PC】如何让程序开机自启动/如何打开开机自启动文件夹
  13. 甘肃省庆阳市谷歌卫星地图下载
  14. (二)PositionRank: An Unsupervised Approach to Keyphrase Extractionfrom Scholarly Documents解读一
  15. 牛客IOI周赛20-普及组
  16. 解决error mounted is not defined no-undef
  17. 0基础转行软件测试从哪开始学,怎么有效学?
  18. Docplex入门(1)——线性规划
  19. 2021年化工自动化控制仪表考试报名及化工自动化控制仪表新版试题
  20. 国外最大的购物搜索/比较购物网站

热门文章

  1. (篇六)C语言求自首数、完数、亲密数
  2. 计算机曝光模式有哪些,摄影:单反相机中P、A、S、M四种曝光模式的用法详解 -电脑资料...
  3. 微课|Python列表、字典、集合、字符串对象常用方法串讲
  4. Python+psutil获取本机所有联网的应用程序信息
  5. 微课|中学生可以这样学Python(7.4节):属性
  6. python标准库math用法精要
  7. mysql序列 mybatis_MySQL实现序列(Sequence)效果以及在Mybatis中如何使用这种策略
  8. echart饼图标签重叠_怎么让ECharts饼图的label标签不重叠?
  9. 计算机工程与应用 格式,计算机工程与应用模板.doc
  10. 数据流图软件_软件工程分析设计图库目录