python可以写web吗_用Python写一个简单的Web框架

f4daae73c18d2881fd64d96bd9a6df19.jpg-wh_651x-s_398379292.jpg一、概述

二、大年夜demo_app开端

三、WSGI中的application

四、区分URL

五、重构 1、正则匹配URL

2、DRY

3、抽象出框架

六、参考

一、概述

在Python中,WSGI(Web Server Gateway Interface)定义了Web办事器与Web应用(或Web框架)之间的标准接口。在WSGI的规范下,各类各样的Web办事器和Web框架都可以很好的交互。

因为WSGI的存在,用Python写一个简单的Web框架也变得异常轻易。然而,同很多其他的强大年夜软件一样,要实现一个功能丰富、结实高效的Web框架并非易事;如不雅您计算这么做,可能应用一个现成的Web框架(如 Django、Tornado、web.py 等)会是更合适的选择。

二、大年夜demo_app开端

起首,作为一个初步体验,我们可以借助 wsgiref.simple_server 来搭建一个简单无比(trivial)的Web应用:#!/usr/bin/env python

# -*- coding: utf-8 -*-

fromwsgiref.simple_server import make_server, demo_app

httpd = make_server('', 8086, demo_app)

sa = httpd.socket.getsockname()

print 'http://{0}:{1}/'.format(*sa)

# Respond torequests until processiskilled

httpd.serve_forever()$ python code.py

http://0.0.0.0:8086/

打开浏览器,输入http://0.0.0.0:8086/后可以看到:一行”Hello world!” 和 浩瀚情况变量值。

三、WSGI中的application

WSGI中规定:application是一个 可调用对象(callable object),它接收 environ 和 start_response 两个参数,并返回一个 字符串迭代对象。

个中,可调用对象 包含 函数、办法、类 或者 具有__call__办法的 实例;environ 是一个字典对象,包含CGI风格的情况变量(CGI-style environment variables)和 WSGI必须的变量(WSGI-required variables);start_response 是一个可调用对象,它接收两个 惯例参数(status,response_headers)和 一个 默认参数(exc_info);字符串迭代对象 可所以 字符串列表、生成器函数 或者 具有__iter__办法的可迭代实例。更多细节参考 Specification Details。

The Application/Framework Side 中给出了一个典范的application实现:#!/usr/bin/env python

# -*- coding: utf-8 -*-

"""application.py"""

def simple_app(environ, start_response):

"""Simplest possible application object"""

status = '200 OK'

response_headers = [('Content-type','text/plain')]

推荐阅读

FreeFileSync 是一个自由、开源以及跨平台的文件夹比较及同步软件,它可以赞助你同步 Linux、Windows 和 Mac OS 中的文件和文件夹。它是便携的,也可以被安装在本地体系中,它的功能丰富>>>详细阅读

地址:http://www.17bianji.com/lsqh/35657.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值