Moving to Django
After weeks of learning to use a new technology, the time has come to finally migrate this web to it's new code. Some things (comments) are not working yet, but should be soon. More about moving from WordPress to Django follows, but recommended more for the technical types among you.
For more then a year I've been using Wordpress, to which I moved from my own handmade piece of "content management system". Both creating my own system earlier, and moving to WordPress and using it were very valuable experiences, however for me, WordPress has proven to be too high-level. Doing something required a lot of poking around it's code and architecture, and generally it meant to work in an environment, which was set up and given some pretty strict rules by others. I mean - it's meant to be (just) a blogging system.
Studying code is something every aspiring programmer should do, however why create workarounds around workarounds to achieve a relatively simple thing... So on we go. I fell in love with Python some time ago, so I've chosen a platform, in this case it was Django, but I was aiming for Zope at one time and perhaps will give it a try in future, and began learning it by using it.
Django is not forcing you into any set of given high-level structures - it's not defined to be a blogging system, it's for general web development. At the same time, together with Python it provides many useful abstractions - one of the most important and time saving ones is the database layer, where with basic apps you basically don't have to use any SQL, and simply work with Python objects.
This allowed me to recreate my bilingual blog in pretty short time, in much simpler code, and allowed for features which I will reuse in future projects. One that is working already is the advanced tag/category filtering - you can use http://www.kerray.cz/cat/stories/music/-video/en+cs/ to see a list of posts in categories "stories" and "music", but if some of these posts were tagged "video" at the same time, they would be ruled out. You can also see the language string at the end, where you can select if you want single language content only, or if you want both languages - the first will be primary. It also works with feeds, so while I'll probably keep the main feeds (on the left) on Feedburner, it's now also possible to call http://www.kerray.cz/feeds/cat/stories/music/-video/en/
to get a selection similar to the last, except only in English - so you can completely customize what kind of posts you want to receive.
From 38 db queries with WordPress I'm down to 12-23 and I haven't even started any optimization. I know I'll be down to 5-10 in no time.
I can also compare Django with ASP.NET, which I'm using at work, and I have to say I find the Python/Django approach a lot more fun to use, although .NET also is pretty good and has very interesting library of features, not to mention IronPython, which someone already managed to run Django on...
I also mostly cleared the page from various javascript thingies, which were basically only here because I wanted to try them out somewhere, so the load times got much better. Next on my list is a dreary task of creating an IE<7 css template, since this one doesn't work at all, and with no FireBug to guide me, it's going to be a pain.
If you encounter that something is not working (besides the looks in IE), or if you have some feedback, suggestion or question, please let me know in a comment or by email on kerray(at)kerray.cz
