wsgi自带,用语构建简单服务器

  • 例子
from wsgiref.simple_server import make_serverdef index(env, res):res('200 ok', [('Content-Type', 'text/html')])print(env['PATH_INFO'][1:])  # method = env['REQUEST_METHOD']body =  '<h1>hello %s </h1>' % (env['PATH_INFO'][1:] or 'index')return [body.encode('utf8')]# 创建服务器
server = make_server('127.0.0.1', 3000, index)
print('Server start at 3000...')# 监听请求
server.serve_forever()

aiohttp基于asyncio实现的HTTP框架

import asyncio
from aiohttp import web@asyncio.coroutine
def index(request):yield from asyncio.sleep(0.5)text = '<h1>hello, %s!</h1>' % (request.match_info['name'] or 'index')return web.Response(body=text.encode('utf8'))@asyncio.coroutine
def init(loop):app = web.Application(loop=loop)app.router.add_route('GET', '/{name}', index)# 创建服务器srv = yield from loop.create_server(app.make_handler(), '127.0.0.1', 3000)print('Server started at http://127.0.0.1:3000...')return srv# 获取EventLoop:
loop = asyncio.get_event_loop()
# 执行coroutine
loop.run_until_complete(init(loop))
# 监听请求
loop.run_forever()

jinja2

  • 简单的模版初始化和使用
from jinja2 import Environment, FileSystemLoaderdef init_jinja2():path = os.path.abspath('.')env = Environment(loader=FileSystemLoader(path))return env__template__ = init_jinja2()
....
body = __template__.get_template('example.html').render(**kw).encode('utf-8')
....

aiomysql 为asyncio提供异步mmysql IO的驱动

import asyncio
import aiomysqlloop = None@asyncio.coroutine
def connect():global loop# 建立连接conn = yield from aiomysql.connect(host= '127.0.0.1',port= 3306,user= 'root',password= 'password',db= 'awesome',loop= loop)# 打开游标cur = yield from conn.cursor()# 执行SQL语句yield from cur.execute('SELECT * FROM users')print(cur.description)# 获取结果集r = yield from cur.fetchall()print(r)yield from cur.close()conn.close()loop = asyncio.get_event_loop()
loop.run_until_complete(connect())

转载于:https://www.cnblogs.com/jinkspeng/p/5283584.html

python学习6 web开发相关推荐

  1. Python学习笔记-web开发

    说起web开发,我们先要说一下软件模式的转变. 最开始软件需要安装一个客户端,我们通过这个客户端去与去完成一些事情.这种模式(Client/Server模式)简称CS架构.随着互联网的兴起,与互联网相 ...

  2. python学全栈还是运维_Python全栈学习——Python基础及Web开发

    原标题:Python全栈学习--Python基础及Web开发 在DevOps火热的敏捷行业中,无论是开发还是运维都在互联网快速发布下练就了一身的本领,微服务下的敏捷开发体系及智能运维体系都在实战中逐步 ...

  3. 微软400集python课程-最强福利——来自微软的Python学习教程(开发指南)

    各位小伙伴们,大家有多久没有发现柳猫这么勤奋的更新啦~ 今天给小伙伴们带来微软的官方福利,你没看错,就是来自微软的官方Python学习教程(开发指南)~ 之前微软上线过一套 Python 教程< ...

  4. python websocket库有什么_常用Python爬虫与Web开发库有哪些?

    Python爬虫和Web开发均是与网页相关的知识技能,无论是自己搭建的网站还是爬虫爬去别人的网站,都离不开相应的Python库,以下是常用的Python爬虫与Web开发库. **1.爬虫库** bea ...

  5. 微软 python教程_最强福利——来自微软的Python学习教程(开发指南)

    各位小伙伴们,大家有多久没有发现柳猫这么勤奋的更新啦~ 今天给小伙伴们带来微软的官方福利,你没看错,就是来自微软的官方Python学习教程(开发指南)~ 之前微软上线过一套 Python 教程< ...

  6. python如何进行web开发_如何用Python做Web开发

    匿名用户 1级 2018-06-08 回答 1.python入门 推荐老齐<从零开始学python>,<python简明教程>,这两本书很适合小白入门(像我一样长期徘徊在编程门 ...

  7. Python学习笔记3-Python开发工具

    通常情况下,为了提高开发效率,需要使用相应的开发工具.进行Python开发也可以使用开发工具.下面将详细介绍Python自带的IDLE和常用的第三方开发工具. 1  使用自带的IDLE 在安装Pyth ...

  8. Python Flask MongoDB Web开发:前 言

    Talk is cheap , show me your code! 内 容 提 要 本书共分三部分,全面介绍如何基于Python微框架Flask进行Web开发.第一部分是Flask简介,介绍使用Fl ...

  9. 一周新书精选:深度学习、强化学习、Web开发最受程序员关注

    3月,万物复苏,跟着春天的脚步,看看这一周有哪些程序员新书最受关注? 1.零基础入门学习Web开发(HTML5 & CSS3)] 本书的系列视频教程全网播放量超100万,得到广大学习者一致好评 ...

最新文章

  1. BZOJ 1040 ZJOI2008 骑士 树形DP
  2. 竟然是它:# vi /etc/resolv.conf
  3. Java并发编程:Synchronized底层优化(偏向锁、轻量级锁)
  4. Go语言基础之基本数据类型
  5. LeetCode 85. 最大矩形(DP/单调递增栈,难)
  6. Xen虚拟机两大迁移方法详解
  7. 2017.9.11 海拔 思考记录
  8. 架构设计:负载均衡层设计方案(1)——负载场景和解决方式
  9. 贝壳反击浑水做空报告 股价上涨近6%
  10. 简述使jdbc连接mysql数据库,关于JDBC的六个步骤
  11. python 编程(编写汽车保养时间表)
  12. 计算机c盘要满了电脑会卡吗,C盘满了 电脑卡顿了,怎么清理空间
  13. 数学建模算法体系分类
  14. javawebJAVAJSP网吧管理系统(JSP网吧计费管理系统)网吧收费管理系统网吧自动计费管
  15. 机器人庄园作文_关于周庄一日游作文六年级汇总5篇
  16. Rosalind Java| Mortal Fibonacci Rabbits
  17. 微信将迎来重大更新:绑定银行卡的用户请注意
  18. oracle热备机制,Oracle的热备
  19. 不逼自己一把,命运就会逼你一辈子
  20. 力挺京东618,马化腾用小程序给刘强东送了一份大礼!

热门文章

  1. pandas to_sql
  2. 图解TCPIP-传输层 UDP报文格式
  3. Java Spring 异常处理
  4. Java Servlet JSP
  5. 2.7 Inception 网络
  6. opencv-api fitEllipse
  7. 利用数据缓存加速文件备份
  8. Linux学习总结(52)——主流 Linux 发行版性能对比
  9. Json学习总结(3)——Jsonp跨域及Rest接口实现
  10. python打开autocad软件_python 使用pyautocad操作AutoCAD