2011-07-20 47 views
6

使用WSGI和Python 3.2提供靜態文件最簡單的方法是什麼?爲此目的,有一些用於PEP 333和Python 2的WSGI應用程序 - 但是是關於PEP 3333和Python 3的?我想用wsgiref進行開發。使用WSGI和Python 3提供靜態文件

回答

1

這裏有幾個的信息的鏈接上WSGI應用用於Python 3.

自定義:https://bitbucket.org/mitsuhiko/wsgi3k/ modwsgi:http://code.google.com/p/modwsgi/wiki/SupportForPython3X 的CherryPy:http://www.cherrypy.org/wiki/WSGI具體地說WSGI 1.0與1.1 WSGI部分。

所有這些鏈接都來自此頁:

http://www.wsgi.org/wsgi/Python_3

它看起來對我來說,在這一點上最成熟的一個是CherryPy的。我也確信CherryPy提供了一種簡單的方法來提供靜態文件。

+0

感謝您的鏈接。我正在尋找一個簡單的應用程序,而不是整個服務器。你知道這樣的事嗎? – deamon

7

通常,您不想使用WSGI來提供靜態文件。使用WSGI可以使用Python生成動態內容。根據定義,靜態文件不是動態內容,因此您不需要額外的WSGI層以及您構建的任何Web應用程序。相反,您最好將您的Web服務器(apache,nginx,iis等)設置爲與您的WSGI應用程序一起單獨提供靜態文件。

編輯︰有趣的是,我只是在你澄清你的問題後發現自己在這個位置。這是我發現你可能會喜歡的東西。它被稱爲「靜態」。

http://lukearno.com/projects/static/

https://bitbucket.org/luke/static/

+1

我同意,但我想在開發過程中儘可能簡單地提供靜態文件。而現在我正在使用無法提供靜態文件的wsgiref。 – deamon

+1

在Github [這裏](https://github.com/rmohr/static3)上還有一個新的Python3兼容的靜態分支(因爲原始版本在4年前收到它的最後一次提交,並且不支持Python 3寫這個)。 – metakermit

2

Bottle支持PEP 3333,serving static files是非常小的。它可能適合你的賬單。我同意Mark Hildreth的回答,但如果你需要靜態服務來開發和使用Python 3,Bottle是一個不錯的選擇。注意:Bottle使用2to3。

+0

自[版本0.11](http://bottlepy.org/docs/dev/changelog.html#release-0-11)以來,不再需要2to3。 – webwurst