用WSGI和Python 3提供静态文件
用WSGI和Python 3.2提供静态文件最简单的方法是什么?之前有一些WSGI应用是为了PEP 333和Python 2而设计的,那PEP 3333和Python 3呢?我想在开发中使用wsgiref。
3 个回答
这里有几个关于Python 3的WSGI应用的信息链接。
自定义的链接: https://bitbucket.org/mitsuhiko/wsgi3k/
mod_wsgi的链接: http://code.google.com/p/modwsgi/wiki/SupportForPython3X
CherryPy的链接: http://www.cherrypy.org/wiki/WSGI,特别是WSGI 1.0和WSGI 1.1的部分。
这些链接都来自这个页面:
http://www.wsgi.org/wsgi/Python_3
在我看来,目前最成熟的应该是CherryPy。我也相信CherryPy提供了一种简单的方法来服务静态文件。
Bottle 是一个支持 PEP 3333 的轻量级框架,它可以用来提供静态文件,并且体积非常小巧。这个框架可能正好适合你的需求。我同意 Mark Hildreth 的回答,但如果你在开发中需要提供静态文件,并且想使用 Python 3,Bottle 是个不错的选择。注意:Bottle 使用了 2to3 工具。
一般来说,你不想用WSGI来提供静态文件。WSGI的主要作用是用Python生成动态内容。而静态文件本身就是不变的内容,所以你不需要通过WSGI这个额外的层来处理它们。最好的做法是把你的网页服务器(比如apache、nginx、iis等)设置成单独提供静态文件,同时运行你的WSGI应用。
补充:有趣的是,在你澄清问题后,我恰好也遇到了这个情况。我发现了一些你可能会感兴趣的东西,叫做“static”。