小工具      在线工具  汉语词典  css  js  c++  java

蟒蛇 WSGI 接口

Python 额外说明

收录于:93天前

Python 专注于生成 HTML 文档。因为我们不想暴露于 TCP 连接、HTTP 原始请求和响应格式,所以我们需要一个统一的接口,让我们能够专注于用 Python 编写 Web 服务。

这个接口就是WSGI:Web服务器网关接口。

WSGI接口定义非常简单。它只需要Web开发人员实现一个响应HTTP请求的功能。让我们看一下最简单的网页版“Hello, web!”:

def application(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])
    return [b'<h1>Hello, web!</h1>']

上面的application()函数就是符合WSGI标准的一个HTTP处理函数,它接收两个参数:

  • environ:一个包含所有HTTP请求信息的dict对象;

  • start_response:发送 HTTP 响应的函数。

application()函数中,调用:

start_response('200 OK', [('Content-Type', 'text/html')])
Python 有一个内置的 WSGI 服务器。该模块称为 wsgiref,它是用纯 Python 编写的 WSGI 服务器的参考实现。所谓“参考实现”是指该实现完全符合WSGI标准,但不考虑任何运行效率,仅用于开发和测试。


运行 WSGI 服务

我们先编写hello.py,实现Web应用程序的WSGI处理函数:

# hello.py

def application(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])
    return [b'<h1>Hello, web!</h1>']


server.py ,负责启动WSGI服务器并加载 application() 功能:
# server.py
# 从wsgiref模块导入:
from wsgiref.simple_server import make_server
# 导入我们自己编写的application函数:
from hello import application

# 创建一个服务器,IP地址为空,端口是8000,处理函数是application:
httpd = make_server('', 8000, application)
print('Serving HTTP on port 8000...')
# 开始监听HTTP请求:
httpd.serve_forever()

确保以上两个文件在同一个目录下,然后在命令行输入python server.py来启动WSGI服务器:

截屏:




. . .

相关推荐

额外说明

Redis(3)——字符串类型操作

目录 获取所有设置的key(keys *) 清空数据(flushdb) 设置操作数据(set) 获取操作数据(get) 不覆盖设置(setnx) 设置数据有效期(setex) 查看定时数据所剩时间(ttl) 取消有效时间内的数据,并转化为永久存储(per

额外说明

InfluxDB使用教程:Java版InfluxDB工具类

前言: 上几讲,介绍了Influx在Linux和Windows上的使用之后,本节开始介绍Influx在Java中的使用,先提供一个InfluxDB Java API 封装的工具类,方便大家直接上手使用。 1.InfluxDB工具类 先奉上工具类,接下来介

额外说明

使用Spring Boot开发一个属于自己的web Api接口返回JSON数据

Spring Boot环境搭建 官网:https://spring.io/projects/spring-boot GitHub地址:https://github.com/spring-projects/spring-boot 官方文档演示https:/

额外说明

Direct3D 12——计算着色器——将计算着色器的执行结果复制到系统内存

将计算着色器的执行结果复制到系统内存 一般来说,在用计算着色器对纹理进行处理之后,我们就会将结果在屏幕上显示出来,并根据呈现的效果来验证计算着色器的准确性。但是,如果使用结构化缓冲区参与运算, 或使用GPGPU进行通用计算,则运算结果可能根本就无法显示出

额外说明

35.文件上传

文件上传 ①设置文件的存储路径: 在项目根目录下static中创建media文件夹 图片上传后,会被保存到“/static/media/目录下” 打开settings.py文件,增加MEDIA_ROOT项 ②文件上传的前端中form表单的编写: FILE

额外说明

国产化系统中遇到的视频花屏、卡顿以及延迟问题的记录与总结

目录 1、国产化系统概述 1.1、国产化操作系统与国产化CPU 1.2、国产化服务器操作系统  1.3、当前国产化系统的主流配置 2、视频解码花屏与卡顿问题 2.1、视频解码花屏 2.2、视频解码卡顿 2.3、关于I帧和P帧的说明 3、国产显卡处理速度慢

额外说明

Springboot+Spring-Security+JWT 实现用户登录和权限认证

如今,互联网项目对于安全的要求越来越严格,这就是对后端开发提出了更多的要求,目前比较成熟的几种大家比较熟悉的模式,像RBAC 基于角色权限的验证,shiro框架专门用于处理权限方面的,另一个比较流行的后端框架是Spring-Security,该框架提供了

额外说明

【Go Web 篇】从零开始:构建最简单的 Go 语言 Web 服务器

随着互联网的迅速发展,Web 服务器成为了连接世界的关键组件之一。而在现代编程语言中,Go 语言因其卓越的性能和并发能力而备受青睐。本篇博客将带你从零开始,一步步构建最简单的 Go 语言 Web 服务器,让你对 Go 语言的 Web 开发能力有一个初步的

额外说明

深度学习助力版面分析技术,图像“还原”有方

您好,我是码农飞哥(wei158556),感谢您阅读本文,欢迎一键三连哦。 -- 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通 - 2. 毕业设计专栏,毕业季咱们不慌忙,几百款毕业设计等你选。

额外说明

Linux用户管理

Linux用户管理 用户管理篇 Root用户登录系统后可以做很多事 写文档 听音乐 聊QQ 聊微信 写代码 上班五分钟,闲聊俩小时 打卡下班 ... 当然了,完全可以坐在办公室,远程连接服务器工作 多用户多任务 多个用户使用同一个操作系统,每个人做自己的

ads via 小工具