As web development frameworks go, Django really is fab. I can now run Django in a number of ways… all of which have their own advantages.
- Development mode: The cool thing about running in development mode is that whenever you change any code, it automatically re-validates your data model and reloads it. Great for er, development. Any “print” statement is shown in theĀ Terminal. Code and reload…
- Running under Lighttpd. Lighttpd is what my hosting company uses for web serving python things. What’s cool about this is that I can run a version in pretty much the same environment as on the hosting. I could use the Apache module mod_python on other hosts.
- Running in Eclipse: Now this is clever… because I can set breakpoints, watch variables and generally step through code seeing what daft stuff I’ve done.
Eclipse is a big part of this, because the PyDev environment means, that not only do I have html code completion, but I get warned when I write bad python… oh and did I mention the debugging… it’s fab. Using print statements is fine when you have an easy bug, but I tend to write difficult buggers.
And then… if you get organised you can useĀ Coda to edit CSS style sheets live. Like the Firebug and EditCSS Firefox plugin… all fab…
I’m massively impressed with Django’s out-of-the-box CMS abilities. Although I must say, I want it to go further, to be more extendable, because, Django out-of-the-box is almost good enough for most CMS needs… I’ve just added the Dojo WYSIWYG editor into the admin screens… I can create new functionality for listing screens but not (I don’t think) standard edit screens, I may be wrong though….
And another thing… after dropping in the Eclipse Subversion plugin, not only can I do local development in a number of ways.. when I’m ready to upload to main server I simply do a “commit” and the main server is updated… just like that. I’ve been bitten in the arse a few times by Subversion’s finickitiness mind you.
So… what a collection of tools… if they weren’t so geeky they’d be usable. But for me the combination of python+django+eclipse+pydev+subversion+coda+dojo is moving towards something that is powerful and elegant… like a ballet dancer with a machine gun.



I forgot to say, that I can also run my project from the command-line. This is often over-looked as an idea… but it means that I can use the interpreter to work with my data model… I do this all the time to tweak stuff, run scripts etc.
It has made me re-ponder object-orientation and made me realise that in the past I focussed too much on the objects when I should have been thinking about the world these objects occupy. I don’t imagine anyone understands what this means (to me) but thought I’d spit it out anyway.
Is replying to my own blog a clear F-lister trait?
Don’t answer that… I will later