Mine Limpet
I continued the spring cleaning today, deleting redundant directories and starting to pull the various elements into a single project directory. The major task was to rename the Django app, as it was still called “news” and sitting next to another one called “polls”, giving away the fact that it was basically the tutorial app with some bits stuck on it. Django doesn’t appear to provide any functionality for renaming apps, or for uninstalling apps, or for packaging existing apps for reinstallation elsewhere. There’s no reason why it should, I guess, but as it seems to have been designed to take care of so much of the developer tedium I thought that it might.
Anyway, I ended up dropping the entire database, backing up my app code (I’ve learned my lesson there) and completely reconstructing the project and app with new names and urls. This turned out to be a very worthwhile exercise as it shook out a host of ugly assumptions about where the app was hiding in various corners of the code and the templates. In fact, the whole app had taken root and didn’t want to budge at all. I need the whole thing to be trivial to relocate, so horrors like absolute URIs are a big no-no and I don’t quite understand why I didn’t pick up on them earlier. It’s mostly pried free now, but I need to put some effort into keeping it mobile.
In other news, the moment I post about my concerns over AJAX there’s an announcement that Django will be pairing with Dojo as part of its future AJAX support. I haven’t had a chance to do more than browse the Dojo site (noting that a lot of the library is apparently undocumented) but it’s exciting that its happening so quickly. Part of the fun of using Django for me is that it’s very much in flux and rapidly changing and improving while being (so far) completely dependable and vice-free. It’s a bleeding-edge open source project but without all the usual pitfalls, this is no doubt thanks to its background as a production framework and I hope they don’t lose any of that quality as the team grows and it becomes more of a community project.

