Cal Henderson on “Why I Hate Django”. At last, someone willing to stand up and publicly state the “All serious programming language inventors have BEARDS!” theory. (Some seriously useful performance thoughts mixed in amongst the bile and kittens)
Django hits the big One Point Oh. Congratulations to all involved. I hope to have groovymother switched over to 1.0 this weekend.
Suspect I will be referring to this a lot over the next week or so as I bring my blog code up to snuff with the impending Django 1.0 release. (Currently have 95% working, but the hackedup comments code will take a bit more work…)
The published (but not final — there’s still functionality for comments and improvements) version of The Django Book is up.
Filed under
:
django
:
python
Work-in-progress project to keep database schemas in sync with changes made to Django models.
Quick guide to installing ssh, Python and Django on your iPhone, so you can run local webapps. OK, I admit defeat: I’m finally tempted to hack my iPhone and install crap on it!
Filed under
:
django
:
iPhone
:
python
Bunch of interesting topics covered at the Django tutorial at OSCON yesterday. I hadn’t heard of Django signals before, but can already think of three hacks in my code that they can replace!
Filed under
:
django
:
oscon
:
python
Antonio Rodriguez of Tabblo switches his blog over to a Django-powered creation. This is a definite trend: Geeks eschewing Wordpress or MovableType for customized Django installs.
Simon Willison’s OpenID consuming middleware for Django. I’ll probably have a stab at mixing this with my blog comments shortly.
Commentary
Since 99% of what I write here is now in the category of “links” rather than posts, and at the prodding of Mike, I’ve added the ability to comment on links on the site.
Turned out to be about 2 new lines of code and minor templatery tweaks (Thank you Django!)
Go crazy, gang. Feedback-me-do!
Django-based OpenID server. It almost seems daft *not* to be running that here.
Filed under
:
django
:
OpenID
:
python
HOWTO hook Akismet (the anti-comment-spam service) into Django’s built-in commenting. I think I should have commenting for groovymother live by the weekend.
The not-particularly-secret Diary of…
If you’re reading this, then I’ve thrown the switch. After almost five years on Movable Type, I’ve shifted over to some homespun blogging software (which I’ve codenamed threequarters)
The reason for this? Over the last few years, the MovableType “community” has pretty much dried up. While there are still a few souls pushing out plugins, they’re of decreasing quality and usefulness. When you only know enough Perl to be dangerous, hacking around in code to fix the authors’ bugs isn’t much fun, and prevented me from really building anything myself.
So here I am on a site powered by the lovely Django framework. There’s less than 500 lines of my code (templates excepted) powering the whole thing, and very little copying and/or pasting. Finally, I can do crazy things like including my Flickr photos in-line with my main blog entries, all cross-referenced by tags. Madness, I know!
It’s all still a little rough round the edges. There’s probably some Unicode screwups, images might not show up correctly, and I’ve yet to think about comments. But at least now I understand the programming language, and can fix all those things.
Happy new year, everyone!
Simon Willison’s shifted his blog onto a Django-based platform. I think I might have a crack at this myself — The limitations of MovableType (not least the fact that I don’t know Perl terribly well) keep biting me these days. Could be fun to roll-my-own (and a good project for my week off work).
Book about Django, being written in public to encourage peer review. The commenting system is particularly clever.
Filed under
:
django
:
python
Google Tech Talk from Jacob of the Django team. Good overview of the origins and philosophy of Django.
What I Did With My Weekend
My IM status, yesterday
I’ve recently been working on a project that exposes a simple web service. When I first wrote the web service last year, the best option to connect Python code to the web had seemed to be mod_python. So I’d knocked up a couple of scripts that parsed URLs and generated POX in a vaguely RESTful manner. Good enough for a prototype.
But now there’s lots of ideas swirling about how this could grow, so I needed something a bit more manageable/scalable/enterprisey.
Earlier this week, I saw the news that there was a new release of Django, a Python webapp framework.
How serendipitous.
So on Tuesday evening I ran through the tutorial, and thought “Oooh!” In much the same way as when I first used the ElementTree XML interface, I had that feeling of “Wow. Finally a framework written by someone whose brain works in the same way as mine.”
I think that’s a good thing.
On Friday, I converted the webservice to use the Django API instead of the mishmash of intertwingled SQL calls it had been. It all worked a treat. Hurrah!
And then over the course of the weekend, I’ve been hacking away, creating a website around my webservice.
Of course, Django’s not perfect. But reassuringly, as I find “holes” and Google for them, I find that there’s plenty of thought being given to them on the Django mailing lists. For example, when I noticed that it wasn’t encoding user-inputs, thereby making it really freaking easy to accidentally expose your site to XSS attacks, I was disappointed. But then I found Simon Willison’s plan for AutoEscaping, along with associated mailing list discussions, and was reassured that this is being thought about, and in a way that will help avoid another magic_quotes-style farrago.
I’m really excited about moving forward with this project, and seeing how far I can stretch Django. If you’re not keen to learn Ruby just to get on Rails, then Django’s a good way to go.
Filed under
:
django
:
python