2012-04-26 8 views
3

Можно создать дубликат:
Recommendations of Python REST (web services) framework?RESTful Python WSGI фреймворк

Я ищу веб-рамки RESTful Python (желательно Python 3). Он должен иметь следующие вещи:

  • конфигурируемых адреса
  • поколение URL поддержка
  • для загрузки файлов
  • аутентификации (HTTP Basic Auth, печенье основы)
  • содержания согласования
  • на основе WSGI
  • возможность отвечать на запросы с использованием HTTP-глаголов, не поддерживаемых запрошенным ресурсом (пример: если кто-то отправляет PUT, но ресурс поддерживает только POST и GET, приложение должно отвечать с разрешенными методами POST и GET)
  • поддержки кэширования заголовков
  • преобразования/визуализацией результатов

Что бы вы порекомендовали?

ответ

2

пирамида 1,3 имеет поддержку питона 3.2

http://www.pylonsproject.org/projects/pyramid/about

документы: http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/

запросы: http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/narr/webob.html#request

вид конфигурации декоратор: http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/narr/viewconfig.html

дает возможность писать конкретные виды для каждый метод запроса к тому же ro ute, например.

@view_config(route_name='wiki', renderer='base.pt', request_method='POST') 
def view(request): 
    return {'a': None} 

@view_config(route_name='wiki', renderer='base.pt', request_method='PUT') 
def view(request): 
    return {'a': None} 
+0

Пирамида выглядит очень перспективно! – deamon

2

вы должны взглянуть на эту link, рекомендации (веб-сервисов) рамок Python REST? в этой ссылке @martin дал действительно хороший пример для разработки вашего собственного отдыха-api. Я не знаю рамки RESTful, которая отвечает всем вашим потребностям, но вы можете развивать свои собственные.

и вы можете проверить Flask и Bottle. это быстрый, простой и легкий WSGI микро-веб-каркас для Python ...

0

Похоже, что у вас есть хороший опыт работы с HTTP. Вы должны проверить CherryPy, который является гораздо большей частью инфраструктуры HTTP, чем веб-фреймворк. Эта точка зрения позволяет вам использовать HTTP таким образом, что другие фреймворки обычно пытаются скрыться от вас. CherryPy может делать все, что вы просили: гибкая конфигурация является одной из ее точек продажи, и она поставляется с инструментами для кэширования, заголовком Allow, auth и negotiation. Версия 3.2 отказалась от ограничивающего модуля cgi для обработки загрузок и теперь поддерживает файлы temp загрузки, потоковой передачи и автоматическую предварительную обработку на основе типа медиа.

0

Неблокирующий веб-сервер и каркас Tornado выглядит многообещающим. Это немного похоже на web.py с управляемой событием моделью, подобной структуре JavaScript node.js (но с более удобным языком). Но я еще не проверял его.

Смежные вопросы