Switching from Rails to Django

11 September 2006

So back in the Fall of 2005 I launched my foray into the world of Rails like every other designer wannabe programmer. I’ll be honest, I did it because everyone else was. Looking back I don’t really know why, I just followed the “if it feels good, do it” principle.

Out of that decision grew a love/hate relationship. I’m primarily a designer but I like sticking my hands in the programming cookie jar. I appreciate things that just work, offering few opportunities for me to unknowingly screw something up. Looking back, most of my time was spent developing admin tools, troubleshooting 500 errors, and deployment. For some reason I accepted this as the norm, and to some degree, enjoyed it. It was like tinkering with a train set (no pun intended). Until I saw a job posting.

World Online was seeking a senior designer to lead its commercial projects. I was interested but it meant no more Rails and I’d have to gain a fundamental understanding of Django, a Python web development framework. This intrigued me. I remember hearing whispers of Django at SXSW in March. I knew there was no way I could seriously apply for the job if I didn’t believe in Django as I did Rails.

After two weeks and with the aid of some great online documentation, I released a new personal site. I was sold, and not just because there was a carrot dangling in-front of me. Realizing I would never have to make another admin tool allowed me the exhale and start dreaming up better designs, info-graphics, API usages, and relationships between content. Django was an instrument that, with little instruction, I could enjoy playing.

It’s been little over a month and I’m still playing. So far, Django has kept a steady beat. No more 500 errors, no more building admin tools, and it’s freakin fast. It should be noted that I have no ill feelings towards Rails. It’s a great framework but the benefits Django offer me, as a designer, are just too great. Plus I took the job so I have to use it :)

For those of you wanting to make a similar switch, I encourage it. Here are some resources that may help:

The Django community is very welcoming. The online documentation is well written and oddly fun to read. I gained a lot from looking at the actual Django website code and listening in the irc channel (#django). It’s also worth reading the philosophy behind Django.

The popular decision isn’t always the right one. This is pretty obvious to most. I think Django Reinhardt said it best, “Jazz attracted me because in it I found a formal perfection and instrumental precision that I admire in classical music, but which popular music doesn’t have.” I believe Django (framework) lives up to this perfection and precision Mr. Reinhardt speaks of.

Remarks

James Bennett http://www.b-list.org

Nice site!

Use Akismet!

;)

sandro

Excellent Tip!

The motion has been seconded.

Baxter

I skipped the Rails hoopla, and at this point I’m glad I did. Django makes much more sense to me on the conceptual level, and I’m happy I went that route.

Although it should be noted I’m a complete idiot when it comes to both Django and Python.

Jeff Wheeler

I also switched my site to Django, from WP. I love Django so much… it is so pretty.

Nathan Borror http://www.playgroundblues.com/

Thats great Jeff, congratulations. I’m not a huge fan of WP so it’s always good to hear someone switching from it to Django :)

Jones

Is Django the new flavor of the month?

Peter Cooper

But you still need to design your admin interface at some point, right? Unless you’re only doing something really basic and not for anyone else to use on the admin side, of course.

Your post would make perfect sense if you said you were switching from PHP to Django (that is, a raw language to a framework) but most of the reasons you give for switching to Django are also reasons many people would cite for switching to Rails (helpful community, good IRC channel, easy to use, philosophy, etc).

I don’t see anything that really explains why Django is better than Rails to a designer, and that’s what I think would be helpful to hear.

hodor

Peter, go check out the django site and docs. The beauty of it is that you do not have to create an admin interface because it is already there, built into the framework. You just have to add a line in each model you want to show up in the admin area and it will be there.

Django is not without a learning curve, especially if you are not familiar with frameworks. Your first site will most likely not be done in “20 minutes” but maybe the next one will.

topfunky

I admire all intelligently designed frameworks and hope to learn Django. (Almost) every Rails developer still envies the delicious admin interface that comes with Django. Hopefully we will have something half as good someday.

The thing that anchors me to the Ruby community is…the community. Why the lucky stiff, Matsumoto-san, Zed Shaw, Rich Kilmer and all the other super brilliant programmers who comprise the Rails community are going to keep me occupied for some time.

However, I still want to learn Django…goes to setup Dreamhost for Django

— Geoffrey Grosenbach, Host of the Ruby on Rails Podcast

Nathan Borror http://www.playgroundblues.com/

I gotta say, I really loved Rails back when I was heavily using it. It was a dream come true after futzing with PHP. I just got tired of making and updating admin tools. I’m a designer and I’d rather focus my time on the look and feel of things.

Geoffrey, your right, the Rails community rocks socks. I can gratefully say the same for Django with people like Adrian Holovaty, Simon Willison, Jacob Kaplan-Moss, James Bennett, Matt Croydon, and so many more. (I feel like I’m trading baseball cards) The community continues to grow.

bir2su http://bir2su.blogspot.com

yea django is great framework to visualise the performance statistically and to learn why i switched from rails to django visit http://bir2su.blogspot.com/2007/11/django-rocks-with-memo…

Dave http://railsordjango.com

U put up a little rails v.s. django voting app up at: http://railsordjango.com

Greg

I don’t know if you’ll take the time to read this as I have come to your party late. I would first like to say I enjoyed your site. After the day I have had, when I looked at your site I felt like I had taken a deep refreshing breath.

I had also been down the Ruby is Cool road. Unlike you I went looking for love elsewhere and ended up dating Cakephp. I felt it was young and brash but really it was just immature. Sadly it has just been more heart break and after a good year of wanting to do great things I have always simply run into walls and given up.

Your article on Django inspires me. Django and I keep seeing each other around on friends sites and so on. I’ve heard some good things but your experience was the key. You and I want the same things out of a framework relationship.Why should I stay in this loveless relationship with Cakephp. I’m a designer who just wants to fiddle in the code without losing site of my true me.

You make me feel that with Django, it will love me and let me go with out being clingy. I’m sold. Thanks for taking the time to write this and for giving me fresh air.

I’m off to my first date.

-Greg

Remarks are closed.

Remarks have been close for this post.