Werkzeug库[通俗易懂]

Werkzeug库[通俗易懂]简介Werkzeug是一个Python写成的WSGI工具集。它遵循WSGI规范,对服务器和Web应用之间的“中间层”进行了开发,衍生出一系列非常有用的Web服务底层模块。关于Werkzeug功能的最简单的一个例子如下:12345678910fromwerkzeug.wrappersimportRequest,…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

简介

Werkzeug是一个Python写成的WSGI工具集。它遵循WSGI规范,对服务器和Web应用之间的“中间层”进行了开发,衍生出一系列非常有用的Web服务底层模块。关于Werkzeug功能的最简单的一个例子如下:

1
2
3
4
5
6
7
8
9
10
from werkzeug.wrappers import Request, Response
 
def application(environ, start_response):
request = Request(environ)
response = Response(
“Hello %s!” % request.args.get(‘name’, ‘World!’))
return response(environ, start_response)
 
if __name__ == ‘__main__’:
from werkzeug.serving import run_simple
run_simple(
‘localhost’, 4000, application)

运行上面的例子,当在浏览器输入http://localhost:4000/就会向本地的服务器发出一个请求。在请求的过程中,werkzeug主要做了下面几件事情:

  1. 根据服务器和WSGI服务器产生的environ环境信息,封装一个Request实例,这个实例包含请求的所有信息;

  2. Web应用根据封装的Request实例信息,产生一个Response实例(上述例子只是输出一段字符串)。这个Response实例是一个可调用的WSGI应用;

  3. 上一步骤产生的可调用应用对象response调用response(environ, start_response)生成响应信息并发回客户端。调用函数是由WSGI规范规定的。

以上过程很好地将服务器和web应用分离开来:服务器不用考虑请求信息怎么被解析给web应用,以及后续怎么和web应用通信;web应用也不用考虑怎么将响应信息返回给服务器。服务器要做的只是提供web应用所需的请求信息,web应用提供的也只是响应信息,中间的处理过程werkzeug可以帮助完成。

模块

werkzeug库主要的模块有:

 

转自: http://fanchunke.me/Flask/Werkzeug%E5%BA%93%E7%AE%80%E4%BB%8B/

 

转载于:https://www.cnblogs.com/JAYWX/articles/8626405.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188987.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 干货 | 京东云弹性伸缩功能实践

    干货 | 京东云弹性伸缩功能实践

    2021年7月9日
    83
  • [272]如何把Python脚本导出为exe程序[通俗易懂]

    一.pyinstaller简介pyinstaller将Python脚本打包成可执行程序,使在没有Python环境的机器上运行最新版是pyinstaller3.1.1。支持python2.7和python3.3+。可运行在Windows,Mac和Linux操作系统下。但它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在Lin…

    2022年4月7日
    57
  • Android Studio的Logcat/Run/Terminal/Build等窗口没有了怎么调出

    Android Studio的Logcat/Run/Terminal/Build等窗口没有了怎么调出

    2021年10月2日
    75
  • fastJson注解@JSONField指定字段的顺序「建议收藏」

    使⽤ordinal指定字段的顺序publicclassBasePackage{@JSONField(ordinal=1)privateintid;@JSONField(ordinal=2)privateintdirection;@JSONField(ordinal=3)privateStringtyp…

    2022年4月9日
    325
  • 『迷你教程』机器学习的Bootstrap及Python实现[通俗易懂]

    『迷你教程』机器学习的Bootstrap及Python实现[通俗易懂]文章目录引导法引导程序的配置引导程序APIBootstrap方法是一种重采样技术,用于通过对数据集进行替换采样来估计总体统计数据。它可用于估计汇总统计数据,例如均值或标准差。它在应用机器学习中用于在对未包含在训练数据中的数据进行预测时估计机器学习模型的技能。估计机器学习模型技能的结果的一个理想特性是可以用置信区间表示估计的技能,这是其他方法(例如交叉验证)不容易获得的特征。在本文中您将发现用于估计机器学习模型对未知数据的技能的引导重采样方法。bootstrap方法涉及对数据集进行迭代重采样

    2022年9月25日
    4
  • 前端网页技术之 Vue

    前端网页技术之 Vue文章目录VueVue概念同类产品官网特点渐进式框架入门案例.html改造入门案例.htmlMVVM框架基础语法运算符operator方法methodsVue解析数据三种data值的写法高级用法:v-命令指令集双向绑定v-model闪现v-cloak判断v-if循环v-for事件v-on绑定v-bind小结Vue组件概述使用测试Vue路由概述使用步骤入门案例Vue的AjaxAjax概述Ajax原理axios测试常见错误Vue的生命周期lifecycle概述测试扩展:观察者设计模式HBuilde

    2022年6月17日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号