For a previous project, I was using Backbonejs alongside Django, but I found out that I didn't use many features from Django. So, I am looking for a lighter framework to use underneath a Backbonejs web app.

I never used Django built in templates. When I did, it was to set up the initial index page, but that's all.

I did use the user management system that Django provided.

I used the models.py, but never views.py.

I used urls.py to set up which template the user would hit upon visiting the site.

I noticed that the two features that I used most from Django was South and Tastypie, and they aren't even included with Django.

Particularly, django-tastypie made it easy for me to link up my frontend models to my backend models. It made it easy to JSONify my front end models and send them to Tastypie. Although, I found myself overriding a lot of tastypie's methods for GET, PUT, POST requests, so it became useless.

South made it easy to migrate new changes to the database. Although, I had so much trouble with South. Is there a framework with an easier way of handling database modifications than using South? When using South with multiple people, we had the worse time keeping our databases synced. When someone added a new table and pushed their migration to git, the other two people would spend days trying to use South's automatic migration, but it never worked. I liked how Rails had a manual way of migrating databases.

Even though I used Tastypie and South a lot, I found myself not actually liking them because I ended up overriding most Tastypie methods for each Resource, and I also had the worst trouble migrating new tables and columns with South. So, I would like a framework that makes that process easier. Part of my problem was that they are too "magical".

Which framework should I use? Nodejs or a lighter Python framework? Which works best with my above criteria?


I would consider using Flask for the backend and SQLAlchemy for database abstraction. It's lightweight, plays nice nice with backbone.js and allows you to use appropriate patterns.

More info regarding how to implement some typical patterns using Flask can be found here: http://flask.pocoo.org/docs/patterns/

| improve this answer | |
  • There's also Bottle.py, which is a close competitor to Flask. – user16764 Oct 25 '12 at 14:31
  • How would you compare it to using Nodejs on the backend? – egidra Oct 27 '12 at 0:04
  • Cant really compare, as I know very little about Node.js. I've done some Python over the years, so I prefer something based on it. There are Event Driven servers based on Python, like Twisted if you would like to go that way. – Pablo Alsina Oct 28 '12 at 22:42

Consider for looking at Monorails.js. It's an ultra lightweight MVC framework for Node.js with nice ORM capabilities and scaffolding. It also supports Redis models, which is amazingly fast in combination with Node.js. So, try it, hope this will be helpful.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.