廖雪峰WSGI接口简单应用实现报错问题
程序员文章站
2022-06-06 19:34:22
...
资源链接:
[廖雪峰老师WSGI接口]
参考博文
因为最近在看django,然后在学习django工作流程时,看到第一步浏览器向服务器WSGI发送请求,因为没有了解过WSGI是啥,所以搜了一下,在看廖雪峰老师的WSGI接口文章并实现其中的简单应用的时候,因为python的版本不一样,程序报了错误,这里记录一下解决方案。
先上简单应用的代码:
简单应用一:
# hello.py
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
return '<h1>Hello, web!</h1>' # python3正确写法:return ['<h1>hello,web!</h1>'.encode('utf-8')]
# server.py
from wsgiref.simple_server import make_server # 从wsgiref模块导入:
from hello import application # 导入我们自己编写的application函数:
httpd = make_server('', 8000, application) # 创建一个服务器,IP地址为空,端口是8000,处理函数是application:
print "Serving HTTP on port 8000..."
httpd.serve_forever() # 开始监听HTTP请求:
报错解决方案:https://www.cnblogs.com/tramp/p/5383381.html
简单应用二:动态获取url的值
原代码:
# hello.py
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
return '<h1>Hello, %s!</h1>' % (environ['PATH_INFO'][1:] or 'web')
# server.py
from wsgiref.simple_server import make_server # 从wsgiref模块导入:
from hello import application # 导入我们自己编写的application函数:
httpd = make_server('', 8000, application) # 创建一个服务器,IP地址为空,端口是8000,处理函数是application:
print "Serving HTTP on port 8000..."
httpd.serve_forever() # 开始监听HTTP请求:
修改后代码:
#hello.py
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
return [('<h1>Hello, %s!</h1>' % (environ['PATH_INFO'][1:] or 'web')).encode('utf-8')]
# server.py
from wsgiref.simple_server import make_server # 从wsgiref模块导入:
from hello import application # 导入我们自己编写的application函数:
httpd = make_server('', 8000, application) # 创建一个服务器,IP地址为空,端口是8000,处理函数是application:
print "Serving HTTP on port 8000..."
httpd.serve_forever() # 开始监听HTTP请求:
上一篇: Ibatis批量插入数据
推荐阅读