[Openstack] Why Horizon use Django instead Flask or other?

Gabriel Hurley Gabriel.Hurley at nebula.com
Tue Aug 19 01:40:21 UTC 2014

At the point at which the Horizon project first began (during the Cactus, I believe) the handful of folks working on it wanted a Python web framework that would get them up and running as fast as possible. That meant lots of built-in, “batteries-included” features so they didn’t need to reinvent a bunch of wheels; and that also meant something they had at least passing familiarity with. So they chose Django.

Speaking from personal opinion at this point (and as a former Horizon PTL and Django core developer): Flask is good for writing APIs or very simple sites, but not for large webapps. They would have had to write a ton of code for things other frameworks have built-in. And Pylons and Zope don’t have nearly the base of community, resources, or documentation that Django does. Twisted would have been another option, but the event-driven model of Twisted is hard for many people to wrap their heads around and wasn’t appropriate at the time.

All things considered I think the choice of Django was relatively sound (I had nothing to do with the original choice). It’s allowed the project to grow and scale effectively over the last 3+ years.

At this point, though, there’s a clear demand for a more responsive and real-time dashboard experience, and that generally means moving as much as possible into a client-side JavaScript-based webapp. That’s why the Horizon team has been making efforts to move towards things like angular.js and socket.io to help bring the next era of modern Horizon functionality. It’s not a simple or easy transition, but as that transition takes place a vast amount of the Django code will likely go away.

I hope that helps shed some light on the historical reason for “why Django” as well as why it may matter less that it was Django and not something else over time.

All the best,

-          Gabriel

From: Guillermo Alvarado [mailto:guillermoalvarado89 at gmail.com]
Sent: Monday, August 18, 2014 4:20 PM
To: openstack at lists.openstack.org
Subject: [Openstack] Why Horizon use Django instead Flask or other?


I am wondering why Horizon is built in Django instead other Python Framework Like Pylons, Flask, Zope or oher ?

Thanks for your time!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20140819/6e325f69/attachment.html>

More information about the Openstack mailing list