Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

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, but never

I used 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?

share|improve this question

put on hold as off-topic by MichaelT, Snowman, gnat, durron597, Kilian Foth yesterday

This question appears to be off-topic. The users who voted to close gave these specific reasons:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – MichaelT, Kilian Foth
  • "Questions about what language, technology, or project one should take up next are off topic on Programmers, as they can only attract subjective opinions for answers. There are too many individual factors behind the question to create answers that will have lasting value. You may be able to get help in The Whiteboard, our chat room." – Snowman, gnat, durron597
If this question can be reworded to fit the rules in the help center, please edit the question.

2 Answers 2

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:

share|improve this answer
There's also, 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.

share|improve this answer

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