Feeling Up Django: First Impressions From a PHP Guy

As I whipped through the tutorial on getting started with Django I made some mental notes on things I thought were interesting and things I thought weren’t so interesting. I have a feeling I’ll be saying similar things about Ruby on Rails…


  • Data Models
    You define them in code and then the framework takes care of the rest.  This leaves it to be truly independent of which database you should choose to use; it keeps it portable between databases and helps you make sure all your database structures are up to date after rolling out a new version.
  • Admin Tools
    Right out of the box Django has an easy to use and easy to configure admin section.  One of the greatest annoyances I’ve always had to deal with is “We need to be able to edit that.”  With Django’s magical admin section, all you have to do is enable your data models to be usable by it – and then anybody you give permission to can edit your database.  It’ll even track changes that users make. Handy.
  • Lots of Tools
    With a handy, full featured django-admin tool, you can get a lot done and a whole app project up and running in no time.
  • Everything is an Object (not Django specific)
    There’s not much more to say on that. Just that every piece of code will behave in the same object-like manner.
  • Standalone Dev Server (not Django specific)
    Having a quick and easy dev server is handy.

Not so Interesting:

  • Template System. it’s ‘meh’.  Nothing really jumped out at me as to why it’s exciting or great.
  • Django’s PHP bashing in their documentation. Why the hate, guys?
  • Having to Configure URLs. I kinda like the fact that I can disable a certain section of an application at the drop of a hat.  But I can see it being an annoyance to have to actually configure every URL after I create new modules apps.
  • Projects vs. Modules vs. Apps.  I don’t like how they call what I would refer to as a ‘module’ an ‘app’.  This is just semantics.  In Djangoland what I would call an application they call a “project” and what I would call a module they call an “app”.

With a bit of an understanding on how things work now, at least I can dive on into the APIs and perhaps get something done.

Does anybody have any suggestions for a light weight GUI IDE?

By Darryl Clarke

random text goes here, i guess