Jaki Framework w Pythonie dla usługi internetowej REST / JSON bez front endu?

Muszę utworzyć Python REST / JSON web service dla aplikacji iOS do interakcji z. W sieci nie będzie żadnego front endu.

Jaki będzie najszybszy i najlżejszy framework do tego celu? Krzywa uczenia się do wdrożenia również rozważane?

Z badań, które zrobiłem Django-Tastypie lub Djanjo-tłok wyglądają jak najlepsze opcje, z Tastypie wygrywa, ponieważ baza kodowa jest utrzymywana aktywnie?

Author: Raymond Hettinger, 2011-10-30

6 answers

Ogólnie rzecz biorąc, myślę, że znajdziesz web2py jako jeden z najłatwiejszych frameworków do skonfigurowania, nauczenia się i użycia. web2py ułatwia generowanie JSON (wystarczy dodać a .rozszerzenie json), a teraz zawiera nową funkcjonalność do automatycznego tworzenia RESTful web services , aby uzyskać dostęp do modeli baz danych. W szczególności sprawdź parse_as_rest i smart_query.

Jeśli potrzebujesz pomocy, zapytaj na liście dyskusyjnej .

 12
Author: Anthony,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-30 22:57:46

W Pycon Australia Richard Jones porównał najpopularniejsze lekkie frameworki internetowe. butelka wyszła na wierzch. Oto pełna prezentacja .

 25
Author: Raymond Hettinger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-30 06:01:48

Jeśli chodzi o lightweight, CherryPy jest tam całkiem nieźle.

import cherrypy

class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

cherrypy.quickstart(HelloWorld())
 6
Author: Amber,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-30 05:01:31

Na Twoim miejscu użyłbym web.py jest to naprawdę wygodne do tego rodzaju szybkiego prototypowania lekkich aplikacji spoczynkowych . Zobacz ten fragment ze strony głównej:

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()
 2
Author: lc2817,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-30 05:04:41

Spójrz na kolbę i jej rozszerzenie kolbę-restful

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)
 1
Author: user1823890,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-04 16:45:46

Możesz również sprawdzić Parse. Z nich można korzystać za darmo już teraz i udostępni Ci ładne REST API {[2] } dla aplikacji mobilnych.

Jednak, jak podkreśla @iksnar, nie piszesz nic w Pythonie, ani niczego w ogóle dla backendu. Jeśli potrzebujesz, aby backend działał w Pythonie na własnych serwerach, jestem wielkim fanem TastyPie, jeśli używasz już Django i Django ORM.

 0
Author: Gourneau,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-21 01:17:43