MyWeb框架:

from wsgiref.simple_server import make_server

def application(environ, start_response):

    print(environ)
start_response('200 OK', [('Content-Type', 'text/html')]) return [b'<h1> Hello,web! </h1>'] httpd = make_server('',8080,application) print('Serving HTTP on port 8080....') httpd.serve_forever()

MyWeb框架第一次修改:

index1.html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <h1>hello mei</h1> </body>
</html>

index2.html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>hello han</h1> </body>
</html>

MyWeb框架第一次修改.py :

from wsgiref.simple_server import make_server

def mei():
f = open("index1.html", "rb")
data = f.read()
return data def han():
f = open("index2.html", "rb")
data = f.read()
return data def application(environ, start_response):
# print(environ) #自动生成一个打的字典 print('path', environ["PATH_INFO"]) # environ字典中
path = environ["PATH_INFO"]
start_response('200 OK', [('Content-Type', 'text/html')]) # 设置发送的文件类型
if path == "/han":
return [han()]
elif path == "/mei":
return [mei()]
else:
return [b''] httpd = make_server('', 8080, application) print('Serving HTTP on port 8080....') httpd.serve_forever()

MyWeb框架第二次修改:

login.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="http://localhost:8080/login" method="get">
<p>用户名 <input type="text" name="user" id="user"></p>
<p>密码 <input type="text" name="pwd" id="pwd"></p>
<p><input type="submit">提交</p>
</form> </body>
</html>

show_time.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>时间:{{time}}</h1> </body>
</html>

MyWeb框架第二次修改.py:

from wsgiref.simple_server import make_server

import time

def mei(req):
f = open("index1.html", "rb")
data = f.read()
return data def han(req):
f = open("index2.html", "rb")
data = f.read()
return data def login(req):
print(req["QUERY_STRING"])
return b"welcome!" def signup(req):
pass def show_time(req):
times = time.ctime()
return ("<h1> time: %s </h1>" % str(times)).encode("utf8") # 打印时间 #这种方法不建议使用
# f=open("show_time.html","rb")
# data=f.read()
# data=data.decode("utf8")
# data=data.replace("{{time}}",str(times))
# return data.encode("utf8") def router():
url_patterns = [
("/mei", mei),
("/signup", signup),
("/han", han),
("/login", login),
("/show_time", show_time), ]
return url_patterns # 返回字典 def application(environ, start_response):
# print(environ) #自动生成一个打的字典 print('path', environ["PATH_INFO"]) # environ字典中
path = environ["PATH_INFO"]
start_response('200 OK', [('Content-Type', 'text/html')]) # 设置发送的文件类型 url_patterns = router()
func = None
for item in url_patterns:
if item[0] == path: # 先判断是否为path
func = item[1] # 执行其对应方法
break
if func:
return [func(environ)]
else:
return [b""] httpd = make_server('', 8080, application) print('Serving HTTP on port 8080....') httpd.serve_forever()

最新文章

  1. cros解决跨域
  2. CentOS7 Mini安装Oracle后用PL/SQL连接数据库(图形化安装)
  3. EF性能之关联加载
  4. 【项目管理和构建】十分钟教程,eclipse配置maven + 创建maven项目(三)
  5. 请添加 MIME 映射
  6. Android ListView(Selector 背景图片 全选 Checkbox等按钮)
  7. 恢复Linux下被误删除的文件(笔记)
  8. 地下迷宫(bfs输出路径)
  9. JavaScript之面向对象学习四原型对象的动态性
  10. css3的一些属性
  11. ASP.NET页面之间数据传递的几种方法
  12. Activity 和 Intent
  13. 12小时格式Xcode的-在一个“TimePicker”24 NSDate的设置
  14. 【一天一道LeetCode】#61. Rotate List
  15. cocos2dv2项目转换为ARC支持的项目
  16. 树莓派3B+通过路由器进SSH和VNC
  17. Pipeline build step with parameters
  18. static 和 final 关键字 对实例变量赋初始值的影响
  19. Pycharm激活方法步骤
  20. Linux学习笔记之Linux 让进程在后台可靠运行的几种方法

热门文章

  1. QT+VS中使用qDebug()打印调试信息无法显示
  2. 空字符串(“”)和null和空格字符串(&quot; &quot;)的区别
  3. Win2012或Win2016安装网卡
  4. APP测试用例
  5. Atcoder Beginner Contest153E(完全背包)
  6. go基础_控制语句
  7. GITlab安装、使用及新项目推送到gitlab
  8. RocketMQ-0.1
  9. Qt: 释放窗口资源
  10. IDEA Tomcat配置 VM Option