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框架实例的更多相关文章

  1. Wsgi的web框架实例

    建立server服务端: from wsgiref.simple_server import make_server import time def f1(request): return [b'&l ...

  2. 利用python web框架django实现py-faster-rcnn demo实例

    操作系统.编程环境及其他: window7  cpu  python2.7  pycharm5.0  django1.8x 说明:本blog是上一篇blog(http://www.cnblogs.co ...

  3. Web框架本质及第一个Django实例 Web框架

    Web框架本质及第一个Django实例   Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web ...

  4. Web框架本质及第一个Django实例

    Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...

  5. WEB框架本质和第一个Django实例

    Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 总的来说:Web框架的本质就是浏览 ...

  6. Django之Web框架本质及第一个Django实例

    Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...

  7. Django学习笔记之Web框架由浅入深和第一个Django实例

    Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...

  8. Python(九)Tornado web 框架

    一.简介 Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过 ...

  9. Servlet规范简介——web框架是如何注入到Servlet中的

    Servlet规范简介--web框架是如何注入到Servlet中的 引言 Web框架一般是通过一个Servlet提供统一的请求入口,将指定的资源映射到这个servlet,在这个servlet中进行框架 ...

  10. tornado web 框架的认识

    tornado 简介 1,概述 Tornado就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源版本.Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的 ...

随机推荐

  1. StarBlog博客开发笔记(33):全新的访问统计功能,异步队列,分库存储

    前言 虽然现在工作重心以AI为主了,不过相比起各种大模型的宏大叙事,我还是更喜欢自己构思功能.写代码,享受解决问题和发布上线的过程. 之前 StarBlog 系列更新的时候我也有提到,随着功能更新,会 ...

  2. kalibr标定单相机,自用指南,防忘记

    1. 标定环境 1.1 从源码编译(linux环境,建议ubuntu 18或20) 步骤见 kalibr wiki 1.2 Docker 如果实体机为Ubuntu,则见official docker ...

  3. TVbox蜂蜜影视_v3.1.6:智能电视观影新选择,简洁界面与强大功能兼具

    蜂蜜影视是一款基于猫影视开源项目 CatVodTVJarLoader 开发的智能电视软件,专为追求简洁与高效观影体验的用户设计.该软件从零开始编写,界面清爽,操作流畅,特别适合在智能电视上使用.其最大 ...

  4. sql server 使用sql语句导出二进制文件到本地磁盘

    sp_configure 'show advanced options', 1;GORECONFIGURE;GOsp_configure 'Ole Automation Procedures', 1; ...

  5. JSON驱动的vue可视化表单设计器组件

    form-create-designer 是基于 @form-create/element-ui 实现的表单设计器组件.可以通过拖拽的方式快速创建表单,轻松帮你搞定表单. 源码地址: Github | ...

  6. 【C++】开源:ImGui图形用户界面库配置与使用

    项目介绍 项目Github地址:https://github.com/ocornut/imgui Dear ImGui (ImGui) 是一个开源的.用 C++ 编写的图形用户界面(GUI)库.它由O ...

  7. 什么是nginx的强缓存和协商缓存

    一.强缓存(Strong Cache) 1. 定义 • 强缓存直接告诉浏览器:在缓存过期前,无需与服务器通信,直接使用本地缓存. • 由服务器通过响应头 Cache-Control 和 Expires ...

  8. 移动端 cordova vue videojs 全屏播放后退出全屏返回后退出app问题

    问题描述 移动端上面使用了videojs 播放视频,同时也监听了手机返回事件document.addEventListener('backbutton',.接着我们点击全屏播放后在退出全屏在返回后直接 ...

  9. 对于 emlog pro 目前 avatar 头像不显示的问题,暂时使用这个方法解决

    avatar 头像 cdn 不稳定,目前 emlog 官方还没有放出更新包.因此,现在使用 JS 的方式暂时解决. 代码如下 <script> const avaUrl = 'https: ...

  10. go 语言中的占位符详解

    在 Go 语言的 fmt 包中,占位符用于格式化输出,允许在输出时插入变量的值.以下是一些常用的占位符及其用法: 通用占位符: %v:按照值的默认格式输出. %+v:输出结构体时,会添加字段名. %# ...