发布于 2014-10-25 12:16:39 | 126 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

Pyramid 轻量级开源Web开发框架

Pyramid也是一款轻量级的开源Python Web框架(也有java版),是Pylons项目的一部分。Pyramid只能运行在Python 2.x或2.4以后的版本上。在使用后端数据库时无需声明,在开发时也不会强制使用一些特定的模板系统。


本文为大家讲解了Pyramid添加Middleware的方法实例,感兴趣的同学参考学习下。

在pylons的文档中,有专门讲过如何添加自己的Middleware, 通过这些Middleware, 我们可以改变输入和输出。这也是WSGI(Web Server Gateway Interface)的优势和精髓所在,那么在pyramid中,我们如何添加Middleware呢

假设我们要添加一个我们自己的Middleware,用来记录每次请求的日志
下面就是一个符合规范的Middleware, 构造函数中接受一个WSGI APP, __call__返回一个WSGI APP.


class LoggerMiddleware(object):
    '''WSGI middleware'''

 

    def __init__(self, application):

        self.app = application

    def __call__(self, environ, start_response):

        # write logs

        try:
            return self.app(environ, start_response)
        except Exception, e:
            # write logs
            pass
        finally:
            # write logs
            pass

 

在项目的__init__.py的main函数中, 在config.make_wsgi_app上包上一层我们的Middleware:


from pyramid.config import Configurator
    config = Configurator()
    config.scan()
    app = config.make_wsgi_app()

 

    # Put middleware
    app = LoggerMiddleware(app)

    serve(app, host='0.0.0.0')

 



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务