Какая среда Python для веб-службы REST / JSON без внешнего интерфейса? - PullRequest
32 голосов
/ 30 октября 2011

Мне нужно создать веб-сервис Python REST / JSON для приложения iOS, с которым можно взаимодействовать.В сети не будет внешнего интерфейса.

Какая самая быстрая и легковесная инфраструктура для этого?Кривая обучения для реализации также рассматривалась?

Из исследований, которые я сделал, Django-Tastypie или Djanjo-Piston выглядят как лучшие варианты, с победой Tastypie, потому что кодовая база активно поддерживается?

Ответы [ 6 ]

25 голосов
/ 30 октября 2011

В Pycon Australia Ричард Джонс сравнил самые популярные легкие веб-фреймворки Бутылка вышла на первое место.Вот полная презентация .

13 голосов
/ 31 октября 2011

В целом, я думаю, вы найдете web2py как одну из самых простых сред для настройки, изучения и использования.web2py позволяет очень просто генерировать JSON (просто добавьте расширение .json), и теперь он включает новые функции для автоматического создания RESTful веб-сервисов для доступа к моделям баз данных.В частности, ознакомьтесь с функциональностью parse_as_rest и smart_query .

Если вам нужна помощь, обратитесь в список рассылки .

6 голосов
/ 30 октября 2011

Когда дело доходит до легкого веса, CherryPy довольно хорош.

2 голосов
/ 30 октября 2011

На вашем месте я бы использовал web.py , что очень удобно для быстрого прототипирования легких REST-приложений . Проверьте этот фрагмент с домашней страницы:

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()
1 голос
/ 04 февраля 2015

Взгляните на колбу и ее расширение колбу-успокоительный

from flask import Flask
from flask.ext import restful

app = Flask(__name__)
api = restful.Api(app)

class HelloWorld(restful.Resource):
    def get(self):
        return {'hello': 'world'}

api.add_resource(HelloWorld, '/')

if __name__ == '__main__':
    app.run(debug=True)
0 голосов
/ 30 ноября 2011

Вы также можете проверить Parse .Они бесплатны для использования прямо сейчас и предоставят вам REST API для ваших мобильных приложений.

Однако, как указывает @iksnar, вы ничего не пишете на Python или вообще ничего для бэкэнда.Если вам нужно, чтобы бэкенд работал в Python на ваших собственных серверах, я большой поклонник TastyPie, если вы уже используете Django и Django ORM.

...