Pertanyaan Kerangka Python apa untuk layanan web REST / JSON tanpa ujung depan?


Saya perlu membuat layanan web Python REST / JSON untuk aplikasi iOS untuk berinteraksi. Tidak akan ada front end di web.

Apa yang akan menjadi kerangka paling cepat dan paling ringan yang digunakan untuk ini? Kurva belajar untuk menerapkan juga dipertimbangkan?

Dari penelitian yang telah saya lakukan Django-Tastypie atau Djanjo-Piston terlihat seperti opsi terbaik, dengan Tastypie menang karena basis kode sedang dipertahankan secara aktif?


32
2017-10-30 04:58


asal


Jawaban:


Secara umum, saya pikir Anda akan menemukan web2py menjadi salah satu kerangka kerja termudah untuk mengatur, belajar, dan menggunakan. web2py membuatnya sangat mudah menghasilkan JSON (cukup tambahkan ekstensi .json), dan sekarang termasuk fungsionalitas baru untuk dibuat secara otomatis Layanan web yang menyenangkan untuk mengakses model database. Khususnya, periksa parse_as_rest dan smart_query fungsionalitas.

Jika Anda butuh bantuan, tanyakan pada milis.


12
2017-10-30 22:57



Di Pycon Australia, Richard Jones membandingkan kerangka web ringan paling populer. Botol keluar di atas. Ini dia presentasi lengkap.


25
2017-10-30 06:01



Ketika datang ke ringan, CherryPy cukup di sana.

import cherrypy

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

cherrypy.quickstart(HelloWorld())

6
2017-10-30 05:01



Jika aku jadi kamu, aku akan menggunakannya web.py yang benar-benar nyaman untuk melakukan semacam prototyping cepat Aplikasi REST ringan. Lihat cuplikan ini dari halaman muka:

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
2017-10-30 04:59



Lihatlah labu dan perluasannya botol-tenang

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
2018-02-04 16:45



Anda mungkin juga ingin memeriksanya Parse. Mereka bebas untuk digunakan sekarang, dan akan memberi Anda bagus API REST untuk Anda aplikasi seluler.

Namun, seperti yang ditunjukkan oleh @iksnar, Anda tidak menulis apa pun dengan Python, atau apa pun untuk backend. Jika Anda perlu memiliki backend yang berjalan dengan Python di server Anda sendiri, saya adalah penggemar berat TastyPie jika Anda sudah menggunakan Django dan Django ORM.


0
2017-11-30 01:28