pyramid.wsgi

wsgiapp(wrapped)[源代码]

将wsgi应用程序转换为 Pyramid view callable . 这个装饰器不同于 pyramid.wsgi.wsgiapp2() 装饰工,用于固定 PATH_INFOSCRIPT_NAME 在wsgi环境中 不是 在调用应用程序之前执行。

例如,在 views.py 模块:

@wsgiapp
def hello_world(environ, start_response):
    body = 'Hello world'
    start_response('200 OK', [ ('Content-Type', 'text/plain'),
                               ('Content-Length', len(body)) ] )
    return [body]

允许以下呼叫 pyramid.config.Configurator.add_view() ::

from views import hello_world
config.add_view(hello_world, name='hello_world.txt')

这个 wsgiapp decorator将把wsgi应用程序的结果转换为 Response 把它还给 Pyramid 就像wsgi应用程序是 Pyramid 查看。

wsgiapp2(wrapped)[源代码]

将wsgi应用程序转换为 Pyramid 查看可调用。这个装饰器不同于 pyramid.wsgi.wsgiapp() 装饰工,用于固定 PATH_INFOSCRIPT_NAME 在wsgi环境中 are 在调用应用程序之前执行。

例如,在 views.py 模块:

@wsgiapp2
def hello_world(environ, start_response):
    body = 'Hello world'
    start_response('200 OK', [ ('Content-Type', 'text/plain'),
                               ('Content-Length', len(body)) ] )
    return [body]

允许以下呼叫 pyramid.config.Configurator.add_view() ::

from views import hello_world
config.add_view(hello_world, name='hello_world.txt')

这个 wsgiapp2 decorator将把wsgi应用程序的结果转换为响应,并将其返回到 Pyramid 就像wsgi应用程序是 Pyramid 查看。这个 SCRIPT_NAMEPATH_INFO 在调用应用程序之前,将修复WSGi环境中存在的值。特别是,生成了一个新的WSGi环境,并且 subpath 将请求传递给 wsgiapp2 用作新请求 PATH_INFO 子路径前面的所有内容都用作 SCRIPT_NAME . 新环境将传递给下游的wsgi应用程序。