Лучший способ создать простой веб-сервис python

Я использую python в течение многих лет, но у меня мало опыта работы с веб-программированием на python. Я хотел бы создать очень простой веб-сервис, который предоставляет некоторые функции из существующего python script для использования в моей компании. Вероятно, он вернет результаты в csv. Какой самый быстрый способ получить что-то? Если это повлияет на ваше предложение, я, скорее всего, добавлю больше функциональности к этому, по дороге.

Ответ 1

Посмотрите werkzeug. Werkzeug начался как простая коллекция различных утилит для приложений WSGI и стал одним из самых передовых модулей WSGI. Он включает в себя мощный отладчик, полнофункциональные объекты запроса и ответа, утилиты HTTP для обработки тегов сущностей, заголовки управления кешем, даты HTTP, обработку файлов cookie, загрузку файлов, мощную систему маршрутизации URL-адресов и кучу дополнительных модулей аддонов. >

Он содержит множество полезных инструментов для работы с http и имеет то преимущество, что вы можете использовать его с wsgi в разных средах (cgi, fcgi, apache/mod_wsgi или простой простой сервер python для отладки).

Ответ 2

web.py, вероятно, является самой простой веб-картой. "Bare" CGI проще, но вы полностью сами по себе, когда речь заходит о создании службы, которая на самом деле что-то делает.

"Привет, мир!" в соответствии с web.py не намного длиннее, чем голой версии CGI, но он добавляет URL-сопоставление, разметку команд HTTP и разбор параметров запроса:

import web

urls = (
    '/(.*)', 'hello'
)
app = web.application(urls, globals())

class hello:        
    def GET(self, name):
        if not name: 
            name = 'world'
        return 'Hello, ' + name + '!'

if __name__ == "__main__":
    app.run()

Ответ 3

Самый простой способ получить Python script в Интернете - использовать CGI:

#!/usr/bin/python

print "Content-type: text/html"
print

print "<p>Hello world.</p>"

Поместите этот код в script, который находится в каталоге CGI вашего веб-сервера, сделает его исполняемым и запустит. Модуль cgi имеет ряд полезных утилит, когда вам нужно принимать параметры от пользователя.

Ответ 4

Raw CGI - это боль, Django - тяжелый вес. Существует ряд более простых, более легких фреймворков, например, CherryPy. Стоит немного оглядеться.

Ответ 5

Посмотрите на ссылку на WSGI. У вас уже есть это в ваших библиотеках Python. Это довольно просто.

Ответ 6

Если вы имеете в виду "Веб-сервис", то доступ к другим программам SimpleXMLRPCServer может быть для вас прав. Он включается в каждую установку Python с версии 2.2.

Для простых доступных людям вещей я обычно использую Pythons SimpleHTTPServer, который также поставляется с каждой установкой. Очевидно, что вы также можете получить доступ к SimpleHTTPServer по клиентским программам.

Ответ 7

Жизнь проста, если вы получаете хорошую веб-инфраструктуру. Веб-службы в Django просты. Определите свою модель, напишите функции просмотра, которые возвращают ваши документы CSV. Пропустите шаблоны.