2008-11-19 5 views

ответ

16

Как минималистично и с какой целью?

SimpleHTTPServer поставляется бесплатно как часть стандартных библиотек Python.

Если вам нужно больше возможностей, просмотрите CherryPy или (на верхнем конце) Twisted.

+2

Спасибо за ссылку CherryPy – 2008-11-19 18:15:22

+1

Я настоятельно рекомендую CherryPy; Я использовал его профессионально в течение многих лет и был очень доволен этим. – 2008-11-19 18:20:39

+0

Настоятельно рекомендуем Twisted (или Kamaelia) над другими. Он знает, как интегрироваться с основными сетями UI, используемыми в настольных приложениях. – 2008-11-20 01:09:29

4

Если вы делаете много одновременных вещей, вы можете рассмотреть Kamaelia's HTTPServer.

5

Я становлюсь большим поклонником недавно выпущенной библиотеки circuits. Это компонент/среда событий, которая поставляется с очень хорошим набором пакетов для создания веб-серверов & приложений. Вот простой веб-пример с сайта:

from circuits.lib.web import Server, Controller 

class HelloWorld(Controller): 
    def index(self): 
     return "Hello World!" 

server = Server(8000) 
server += HelloWorld() 
server.run() 

Поддержка WSGI не более сложна. Хорошая вещь.

3

Если вы хотите использовать что-то из стандартной библиотеки я бы настоятельно рекомендовал не с помощью SimpleHTTPServer, но вместо того, чтобы с помощью wsgiref.simple_server. SimpleHTTPServer неудобен и довольно бессмысленному способу реализации веб-приложения, и хотя сырой WSGI не очень легко (но, конечно, возможно), у вас есть возможность использовать любую основанную на WSGI фреймворк. Кроме того, если вы используете wsgiref, у вас будет возможность перейти на сервер, такой как CherryPy позже (обратите внимание, что сервер в CherryPy может использоваться отдельно от остальной части фреймворка, и вам нужен только one file только для сервера). Для «реального» веб-приложения у CherryPy есть несколько преимуществ по сравнению с wsgiref, но для локально размещенного приложения маловероятно, что любой из них будет иметь значение.

Если вы создаете настольное приложение, вам нужно будет запустить отдельный поток для wsgiref или CherryPy. Если все в порядке, то сервер WSGI, вероятно, будет проще всего. Если вы не хотите запускать отдельный поток для сервера, вам, скорее всего, придется использовать Twisted.