web框架实例
s5.py
from wsgiref.simple_server import make_server
def handle_index():
return [b'<h1>Hello,Index!</h1>']
def handle_date():
return [b'<h1>Hello,Date!</h1>']
def RunServer(environ,start_response):
# environ 客户发来的所有数据
# start_response 封装要返回给用户的数据响应状态码
start_response('200 ok',[('Content-Type','text/html')])
#返回的内容
current_url=environ["PATH_INFO"]
if current_url=="/index":
return handle_index()
elif current_url=="/date":
return handle_date()
else:
return [b'<h1>404</h1>']
if __name__=="__main__":
httpd=make_server('',8000,RunServer)
print("server http on port 8000...")
httpd.serve_forever()
s6.py
from wsgiref.simple_server import make_server
def handle_index():
return [b'<h1>Hello,Index!</h1>']
def handle_date():
return [b'<h1>Hello,Date!</h1>']
URL_DICT={
"/index":handle_index,
"/date":handle_date,
}
def RunServer(environ,start_response):
# environ 客户发来的所有数据
# start_response 封装要返回给用户的数据响应状态码
start_response('200 ok',[('Content-Type','text/html')])
#返回的内容
current_url=environ["PATH_INFO"]
func=None
if current_url in URL_DICT:
func=URL_DICT[current_url]
if func:
return func()
else:
return [b'<h1>404</h1>']
if __name__=="__main__":
httpd=make_server('',8001,RunServer)
print("server http on port 8001...")
httpd.serve_forever()
s7.py
from wsgiref.simple_server import make_server
from Controller import account
URL_DICT={
"/index":account.handle_index,
"/date":account.handle_date,
}
def RunServer(environ,start_response):
# environ 客户发来的所有数据
# start_response 封装要返回给用户的数据响应状态码
start_response('200 ok',[('Content-Type','text/html')])
#返回的内容
current_url=environ["PATH_INFO"]
func=None
if current_url in URL_DICT:
func=URL_DICT[current_url]
if func:
return func()
else:
return [b'<h1>404</h1>']
if __name__=="__main__":
httpd=make_server('',8008,RunServer)
print("server http on port 8008...")
httpd.serve_forever()
view-->account.py
def handle_index():
import time
local_time = time.localtime(time.time())
stime = time.strftime('%Y-%m-%d
%H:%M:%S', local_time)
f=open('view/index.html','rb')
data=f.read()
f.close()
data= data.replace(b'@time', str(stime).encode("utf-8"))
return [data,]
def handle_date():
return [b'<h1>Hello,Date!</h1>']
Template-->index.py
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>index @time</h1>
</body>
</html>
web框架实例的更多相关文章
- Wsgi的web框架实例
建立server服务端: from wsgiref.simple_server import make_server import time def f1(request): return [b'&l ...
- 利用python web框架django实现py-faster-rcnn demo实例
操作系统.编程环境及其他: window7 cpu python2.7 pycharm5.0 django1.8x 说明:本blog是上一篇blog(http://www.cnblogs.co ...
- Web框架本质及第一个Django实例 Web框架
Web框架本质及第一个Django实例 Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web ...
- Web框架本质及第一个Django实例
Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...
- WEB框架本质和第一个Django实例
Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 总的来说:Web框架的本质就是浏览 ...
- Django之Web框架本质及第一个Django实例
Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...
- Django学习笔记之Web框架由浅入深和第一个Django实例
Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...
- Python(九)Tornado web 框架
一.简介 Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过 ...
- Servlet规范简介——web框架是如何注入到Servlet中的
Servlet规范简介--web框架是如何注入到Servlet中的 引言 Web框架一般是通过一个Servlet提供统一的请求入口,将指定的资源映射到这个servlet,在这个servlet中进行框架 ...
- tornado web 框架的认识
tornado 简介 1,概述 Tornado就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源版本.Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的 ...
随机推荐
- 服务器vps测试脚本大全,新云linux综合工具箱-linux加速脚本 一键硬盘挂载
服务器vps测试脚本大全 一键更换yum脚本 一键优化shh卡顿 一键更换软件源 各种linux加速 BBR原版 bbrplus 魔改plus 锐速 脚本linux加速脚本 一键硬盘挂载 一键cc防御 ...
- Redis高可用部署:3台服务器打造哨兵集群
1.Redis集群介绍 Redis 集群(Redis Cluster)是Redis提供的一种分布式部署方式,旨在提供高可用性.如果某个主节点发生故障,集群能够自动进行故障转移,将副本提升为主节点,从而 ...
- 理解Rust引用及其生命周期标识(上)
写在前面 作为Rust开发者,你是否还没有完全理解引用及其生命周期?是否处于教程一看就会,但在实际开发过程中不知所措?本文将由浅入深,手把手教你彻底理解Rust引用与生命周期. 关于本文的理解门槛 本 ...
- 分布式锁—7.Curator的分布式锁
大纲 1.Curator的可重入锁的源码 2.Curator的非可重入锁的源码 3.Curator的可重入读写锁的源码 4.Curator的MultiLock源码 5.Curator的Semaphor ...
- k8s NotReady cni config uninitialized
前言 k8s node 节点 join master 后,状态报错:NOT READY 查看 kubelet 日志 journalctl -xeu kubelet 报错如下:Container run ...
- mac zsh: command not found: python
前言 在 mac 上安装 python 后,会自动在 .zprofile 文件中,加入: # Setting PATH for Python 3.12 # The original version i ...
- Xshell连接VirtualBox虚拟机中的CentOS
前提: 安装好VirtualBox虚拟机,并且在虚拟机上安装好CentOS系统. 具体步骤: 1.进入CentOS虚拟机设置--网络--高级--端口转发 2.新增端口规则,按照下面图片填写. 3.打开 ...
- 什么是HTTP压缩及HTTP压缩的过程
HTTP压缩是指: Web服务器和浏览器之间压缩传输的"文本内容"的方法. HTTP采用通用的压缩算法,比如gzip来压缩HTML,Javascript, CSS文件. 能大大减少 ...
- 一步一步教你部署ktransformers,大内存单显卡用上Deepseek-R1
环境准备 硬件环境 CPU:intel四代至强及以上,AMD参考同时期产品 内存:800GB以上,内存性能越强越好,建议DDR5起步 显卡:Nvidia显卡,单卡显存至少24GB(用T4-16GB显卡 ...
- GrapeCity Documents V8.0 新版本特性
GcExcel V8.0 新版本特性丰富,包括:数据导入方面,可从多种数据源(如自定义对象.DataTable 等)导入,为 IRange.ImportData (..) 新增重载:假设分析上,通过 ...