" Django è un framework Python Web di alto livello che incoraggia lo sviluppo rapido e un design pulito e pragmatico" . Se stai costruendo qualcosa di simile a un sito di e-commerce, probabilmente dovresti andare con Django. Il tuo lavoro sarà svolto rapidamente. Non devi preoccuparti di troppe scelte tecnologiche. Fornisce tutto ciò di cui hai bisogno, dal template engine all'ORM. Sarà leggermente supponente sul modo in cui strutturi la tua app, il che è positivo se me lo chiedi. E ha la community più forte di tutte le altre librerie, il che significa che è disponibile un facile aiuto.
" Flask è una microfotografia per Python basata su Werkzeug, Jinja 2 e buone intenzioni" . Attenzione: "microframework" potrebbe essere fuorviante. Ciò non significa che Flask sia una libreria semicotta. Ciò significa che il nucleo del pallone è molto, molto semplice. A differenza di Django, non prenderà alcuna decisione tecnologica per te. Sei libero di scegliere qualsiasi motore modello o ORM che ti piace. Anche se viene fornito con il motore di template Jinja per impostazione predefinita, sei sempre libero di scegliere il nostro. Per quanto ne so, Flask è utile per scrivere endpoint API (servizi RESTful).
" Twisted è un motore di rete basato sugli eventi scritto in Python" . Questo è un motore ad alte prestazioni. Il motivo principale della sua velocità è qualcosa chiamato differito. Twisted è costruito in cima ai differiti. Per quelli di voi che non conoscono i differiti, si ottiene il meccanismo attraverso l'architettura asincrona. Twisted è molto veloce. Ma non è adatto per la scrittura di webapp convenzionali. Se vuoi fare qualcosa di networking di basso livello, il tuo amico è contorto.
" Tornado è un framework Web Python e una libreria di rete asincrona, originariamente sviluppata in FriendFeed. Utilizzando l'I / O di rete non bloccante, Tornado può ridimensionare fino a decine di migliaia di connessioni aperte, rendendolo ideale per polling lunghi, WebSocket e altre applicazioni che richiedono una connessione di lunga durata per ciascun utente " . Il tornado si trova tra Django e Flask. Se vuoi scrivere qualcosa con Django o Flask, ma se hai bisogno di prestazioni migliori, puoi optare per Tornado. può gestire molto bene il problema C10k se è progettato correttamente.
" Cyclone è un framework di web server per Python che implementa l'API Tornado come protocollo Twisted" . E se volessi qualcosa di quasi performante come Twisted ma facile da scrivere webapp convenzionali? Saluta il ciclone. Preferirei il ciclone al tornado. Ha un'API molto simile a Tornado. È un dato di fatto, questo è un fork di Tornado. Ma il problema è che ha una comunità relativamente piccola. Alexandre Fiori è l'unico committente principale del repository.
" Pyramid è un framework di sviluppo di applicazioni Web Python generale e open source. Il suo obiettivo principale è quello di rendere più semplice per gli sviluppatori Python la creazione di applicazioni Web." Non ho davvero usato Pyramid, ma ho esaminato la documentazione. Da quanto ho capito, Pyramid è molto simile a Flask e penso che tu possa usare Pyramid ovunque Flask sembri appropriato e viceversa.
EDIT : la richiesta di revisione di qualsiasi altro framework è benvenuta!
Fonte: http://dhilipsiva.com/2013/05/19/python-libraries-django-twisted-tornado-flask-cyclone-and-pyramid.html