" Django est un framework Web Python de haut niveau qui encourage un développement rapide et une conception propre et pragmatique" . Si vous créez quelque chose qui ressemble à un site de commerce électronique, vous devriez probablement utiliser Django. Votre travail sera effectué rapidement. Vous n'avez pas à vous soucier d'un trop grand nombre de choix technologiques. Il fournit tout ce dont vous avez besoin, du moteur de modèle à l'ORM. Il sera légèrement avisé de la façon dont vous structurez votre application, ce qui est bien si vous me le demandez. Et il a la communauté la plus forte de toutes les autres bibliothèques, ce qui signifie qu'une aide facile est disponible.
" Flask est un microframework pour Python basé sur Werkzeug, Jinja 2 et de bonnes intentions" . Attention, le "microframework" peut être trompeur. Cela ne signifie pas que Flask est une bibliothèque à moitié cuite. Cela signifie que le noyau du flacon est très, très simple. Contrairement à Django, il ne prendra aucune décision technologique à votre place. Vous êtes libre de choisir n'importe quel moteur de template ou ORM qui vous plaît. Même s'il est livré avec le moteur de modèle Jinja par défaut, vous êtes toujours libre de choisir le nôtre. Autant que je sache, Flask est utile pour écrire des points de terminaison d'API (services RESTful).
" Twisted est un moteur de réseautage événementiel écrit en python" . C'est un moteur performant. La raison principale de sa vitesse est quelque chose appelé comme différé. Twisted est construit sur les différés. Pour ceux d'entre vous qui ne connaissent pas les différés, c'est le mécanisme à travers l'architecture asynchrone qui est atteint. Twisted est très rapide. Mais ne convient pas à l'écriture d'applications Web conventionnelles. Si vous voulez faire quelque chose de réseautage de bas niveau, tordu est votre ami.
« Tornado est un framework Web Python et une bibliothèque de mise en réseau asynchrone, initialement développés chez FriendFeed. En utilisant des E / S réseau non bloquantes, Tornado peut évoluer jusqu'à des dizaines de milliers de connexions ouvertes, ce qui le rend idéal pour les longues interrogations, les WebSockets et d'autres applications qui nécessitent une connexion de longue durée à chaque utilisateur " . Tornado se trouve quelque part entre Django et Flask. Si vous souhaitez écrire quelque chose avec Django ou Flask, mais si vous avez besoin de meilleures performances, vous pouvez opter pour Tornado. il peut très bien gérer le problème du C10k s'il est correctement architecturé.
" Cyclone est un framework de serveur Web pour Python qui implémente l'API Tornado en tant que protocole Twisted" . Maintenant, que faire si vous voulez quelque chose qui soit presque aussi performant que Twisted mais facile à écrire des applications Web conventionnelles? Dites bonjour au cyclone. Je préférerais Cyclone à Tornado. Il possède une API très similaire à Tornado. En fait, c'est une fourchette de Tornado. Mais le problème est que la communauté est relativement petite. Alexandre Fiori est le seul principal engagement du repo.
« Pyramid est un cadre général de développement d'applications Web Python open source. Son objectif principal est de faciliter la création d'applications Web par un développeur Python.» Je n'ai pas vraiment utilisé Pyramid, mais j'ai parcouru la documentation. D'après ce que je comprends, Pyramid est très similaire à Flask et je pense que vous pouvez utiliser Pyramid partout où Flask semble approprié et vice-versa.
EDIT : Les demandes de révision de tout autre framework sont les bienvenues!
Source: http://dhilipsiva.com/2013/05/19/python-libraries-django-twisted-tornado-flask-cyclone-and-pyramid.html