我是否必须使用wsgi_module的“def application”?

时间:2012-08-10 10:48:14

标签: python mod-wsgi

所以我在我的服务器上安装了python,并且我正在使用带有apache的wsgi_module。

我所有的python程序都必须使用这种格式:

def application(environ, start_response):
    headers = []
    headers.append(('Content-Type', 'text/plain'))
    write = start_response('200 OK', headers)

    input = environ['wsgi.input']
    output = cStringIO.StringIO()

    print >> output, "test"

    output.write(input.read(int(environ.get('CONTENT_LENGTH', '0'))))
    return [output.getvalue()]

无论如何设置它以便我可以编写python脚本并且只有:

print "test"

1 个答案:

答案 0 :(得分:0)

是的,您的脚本当然需要可调用(不一定是函数,它也可以是定义了__call__方法的类)接受 environ 和* start_response *参数,因为它是wsgi standard的一部分,这就是它的工作方式。

你喜欢用PHP格式编写脚本的方式,如“打印东西”不起作用。最初称为PSP(Python服务器页面)的当前死亡计划混淆了代码和模板,但它无法获得普及,因为它当然不是编写应用程序的Python方式。