Hey y'all. Come visit me at dkeithrobinson.com

Django First Impressions

June 13, 2006 | Comments 16 Comments

I’d bet that many of you have been hearing a lot about Django, a Web framework based on Python. Now, I’m not a programmer, and don’t even do all that much development anymore, but I’ve been peaking under the hood a bit for various reasons, one of which being the potential need for a CMS for my new site.

I’ve not decided if I’ll go the Django route. There is a good chance I’ll stick with Movable Type, simply because I’d like to get the site up sometime this summer, but I’m very, very impressed with Django.

I’ve got nothing to compare it to as it’s my first real foray into the world of Web frameworks. I hear Ruby on Rails is great, but to be honest when I poked around I with it I was quickly stifled. Not so with Django. I was able to get a general idea of how things worked relatively quickly. It was fairly easy to install the core framework, thanks in large part to Jeff’s great tutorial.

Speaking of which, it’s people like Jeff who probably made my dabbling less daunting. Sure Django itself has the raw materials, but posts like Django for non-programmers help make this kind of thing digestible for a designer like me.

(The Django community in general seems very easy for designer-types and I want to specifically thank Jeff, James and Wilson for posts, sample code and pointers.)

But let me talk a bit about my experience working with Django. I’m not going to get into any detail as I’m still learning and I’m not sure I can accurately explain what I’ve learned so far.

Django isn’t easy exactly, and there are quite a few bits I’ve come across that leave me baffled, probably because I don’t have much of a programming background. However, it’s not really hard either. I could use a good book as a reference, but much like many technologies I’ve used as I Web developer I can get in and hack around and have a general idea of what’s going on without too much trouble.

I imagine someone with a true programming background would be able to do quite a lot in very little time. I mean, if I can build a rudimentary blogging application from scratch simply by tinkering with some existing code examples then an expert must be able to work wonders in very little time.

This really appeals to me as someone who has ideas and loves creating things yet doesn’t always feel comfortable relying on someone else. I’ve little desire to become a programmer and to be honest I’ve been moving away from development so I can focus on design, but playing with Django has been making it hard. It seems to provide the raw materials needed to create without needing to be a professional programmer.

That’s not to say I’d ever trust myself to build a “real” application. No, I’d probably want a programmer for that. But much like I’ve done many times with Movable Type (see my Boomarung project) I can use Django to play, prototype and whip up smaller projects of my own without having to beg a programmer to help me.

That’s extremely attractive to me. After all a big reason I’m in this business is to create things.

So, if you’re a designer and you’ve been curious about Django — check it out, you may find it easier than expected.

Filed under: Web Development
Keyword Tags:

Comments

1. Steven Ametjan said:

Just like you, when I tried to venture into the world of Ruby on Rails I was a bit confused, even after reading the books on it, and its parent language Ruby. But when I started to read about Django on the project’s website, I was instantly able to grasp the basics of the framework and hit the ground running.

Posted on June 13, 2006 05:05 PM | #

2. Justin Perkins said:

> I hear Ruby on Rails is great, but to be honest when I poked around I with it I was quickly stifled.

That’s funny, I felt the same when when I first dabbled with Django. The thing that put me off was the various disconnected directories vs. rails “my entire application is right here” approach.

I wish you luck and hope you find some time to give Django a whirl, if anything just for a personal web playground.

Posted on June 13, 2006 06:29 PM | #

3. Justin Perkins said:

> I was a bit confused, … and its parent language Ruby

I don’t know Steven, I’ve always considered Python and Ruby siblings separated at birth. Sure there are differences, but we’re not talking about comparing Python to Java or something.

It must be in the way the documentation is written.

Posted on June 13, 2006 06:36 PM | #

4. Keith said:

Justin – My biggest problem with Django so far has been dealing with the directories and knowing where to put things. I’m slowly getting a handle, but I still get confused at times.

Posted on June 13, 2006 07:35 PM | #

5. Tony said:

Django had the exact same impression on me, though I went ahead and re-did my site with it, with more changes planned.

Posted on June 13, 2006 08:50 PM | #

6. Wilson Miner said:

Great to here you’re poking around. You hit the appeal for guys like us right on the head: it’s just easy and powerful enough to let us whip up soething we can use without asking programmers for help. I wouldn’t build a production site on my own, but it’s nice to have a playground.

Posted on June 13, 2006 08:58 PM | #

7. James Bennett said:

I think some of the confusion comes from the options you have and the fact that we deliberately try to keep the default project/app skeletons as simple as possible, where Rails generates a _ton_ of files and directories when you start a new app, and expects you to go through each of them pretty much in order.

Currently I’m working on a “this is where stuff is and how it fits together” document that’s aimed more at programmers, but much like my other writings about frameworks there’ll be a “non-programmer” edition of that eventually :)

Also, Keith, if I don’t send you some documentation soon for that app you looked at, ask Jeff to walk over to my desk and slap me upside the head; there are some tricks in there that may not be obvious to someone who’s new to both programming and Django.

Posted on June 13, 2006 09:06 PM | #

8. Thomas M. said:

The biggest thing I’m running into right now is the isntallation of the myriad of necessary items to install Django - while trying to keep my own testing server for my clients going. There are a few tutorials on how to install the items, but no one does every single item (at least that I’ve found) - so I’m going between two or three set-up tutorials.

I had decided, for one method, to use DarwinPorts to get Apache2, Python2.4, ProstgreSQL, mxDateTime, psycopg1, and still having the option for MySQL4 and PHP5 to be installed on Apache2, but have run into a bit of a snag there - part my fault and part Darwin’s fault.

I will continue to plow through and figure this out, but I look forward to the day in which there will be a complete tutorial on the matter … Which I would be perfectly willing to do once I get the sucker going ;)

Posted on June 14, 2006 11:05 AM | #

9. Tom Watson said:

Keith, I’ve been dipping my toes into Django a bit as well. After hacking the already hacked extensive Movabable Type installations you and Brian setup here at Children’s I’ve been lured by the appeal of a “better way” with Django. Well, at least for my personal projects.

I’ve looked at Rails and while similar in the whole framework structure, the “feel” of Django just seemed better. Maybe it’s the beautifully designed admin templates by Wilson Miner or the documentation that seems well thought out, but whatever it is I really dig the project. I haven’t dove in fully yet, but I think it just might be time.

There’s always something more I want to be doing with my sites that a cms or blog just doesn’t quite do. Then I end up hacking the thing until I end up with a backend mess and never wanting to go back an look at my code to try and improve upon it. Having the flexibility of a framework with the ability to quickly create a blog if it’s even needed, seems to good to be true.

That and the whole “prefectionists with deadlines” quote they tote really sold me.

Let me know if you end up sticking with it. I’d love to bounce ideas off you and it might help to talk with somene with a bit more of a coding background (especially over a beer or two :)).

Posted on June 15, 2006 03:46 PM | #

10. Avinash said:

I’m in love with Django. Maybe it’s the years of Python I’ve had, or whatever, but it just makes sense. I’ve tried TurboGears, Rails and many PHP frameworks, but none of them clicked for me. I’m glad you’re enjoying Django.

My only gripe (this isn’t specific to Django) is the strict server requirements. You almost need specialized hosting, and on most shared hosts the solutions I’ve seen for getting Django up and running at clever hacks at best. Ideally I’d love to get a good VPS, but then I’d have to find the money for it first.

Posted on June 16, 2006 12:10 PM | #

11. Keith said:

Tom - sure thing. I’m thinking about the new blog powered by Django, as I’ve got a few things in mind for down the road and I think I can get it up and running how I’d like fairly easily, but who knows. Right now I’m working on the templates but it’s slow going…anyway, I’ll let you know how it works out.

Posted on June 19, 2006 02:23 PM | #

12. Scott McCracken said:

I have spent countless hours researching and playing with various web frameworks and content management systems, in an effort to find try and find that one solution which is both highly powerful while also being highly customizable. After reading a few reviews and watching a some site launches, I realized that I had found it - the framework I had been waiting for: Django.

I followed the amazing instructions from Jeff Clark on how to setup Django on Dreamhost and quickly got to work. Now, I am not a programmer by any means, but I was able to get a few simple applications up and running in no time at all. What an amazing feeling of accomplishment for someone who focuses more on XHTML/CSS and design side of websites!

But this joyous feeling was soon taken away when I received an e-mail from a Dreamhost admin telling me I cannot use their space as a development server for Django - I was using too many resources and breaking my TOS. I was told to download Django locally and develop the application before sending it to Dreamhost’s live servers. Fair enough.

But this is where I have become frustrated. As easy and wonderful as it is to develop in Django, setting it up could not be more harder. I’ve tried setting up Django using it’s built in web server, but run into errors with Python and MySQLdb python bindings. I’ve also tried following instructions to install Django with the mod_python handler and the built in version of Apache on OS X - but error after error, I just feel like I’m filling my machine with half-compiled code and bad mappings.

This, to me, is where Django currently falls short - setting it up is a nightmare, at least to those who aren’t completely comfortable at the command line. And it’s a crying shame too, because from what I’ve seen Django is the framework I’ve been waiting for and I’m itching to get started.

Posted on June 19, 2006 03:27 PM | #

13. Tony said:

Hey Scott,
The problem you are having is more OS X than Django – Django can’t run until Python and MySQL are up and running and talking to eachother. I was able to get it working after a lot of googling and a few retrys. IRC is a good resource until somebody gets together some more-exhaustive OS X docs.

Posted on June 19, 2006 08:57 PM | #

14. James said:

Wow! I had never heard of Django until reading this and now I’m completely blown away. I can’t believe there isn’t more buzz about this product in some of the forums I belong to.

Posted on June 20, 2006 07:30 AM | #

15. Colin said:

“The strict server requirements” are what turned me off. I’ve been happy with a specific hosting company, and they couldn’t offer much support for running Django.

So, I’ve settled on a nice PHP Framework, and I can’t imagine programming life being any easier. And the way I see it, MVC is MVC, whether its Ruby, Python, PHP, or hell, even Perl.

Posted on June 21, 2006 01:49 PM | #

16. Alex said:

I really have to give Jeff Clark a big thank you for those great instructions for setting up on my Dreamhost account.There is no way i would have been able to setup Django without them.Thanks Jeff!

Posted on June 30, 2006 11:08 AM | #

New Comments Disabled

About The Author

is a writer, designer, etc. in Seattle, Washington.

More about Keith »

Hire me

Blue Flavor

Links

Home | Search | Archives | Subscribe

Random Old Stuff

Bowman's Process

Details on the BBCi Homepage.

A Movable Type Intranet

Learning Web Design

Signal vs. Noise

Hosting provided by:

The highly recommended Dreamhost!

9rules Network
 

Archives

Category:


Monthly:

Recent Entries

New Site!
August 31, 2006

The Creative License
August 03, 2006

Closing Comments For a Bit
August 01, 2006

Podboppin'
July 26, 2006

WebVisions Wrap
July 24, 2006

midi creatormay it be mididrug like viagraviagrafix corporation
 
Search | Archives | Subscribe | Copyright © 1996-2006