There’s a new generation of web frameworks emerging that have built upon the experience gained from past systems. I’ve written about content management and LAMP before – Django is a LAMP-based framework that started its life as a publishing platform for a newspaper in Lawrence, Kansas. It’s built in Python, which provides a huge variety of built-in classes to support almost anything you might want to do, and it interfaces to a range of relational databases.
As a tool to learn about Django and Python I spend the last few days building this site on a sort of extended blogging model. It is completely styled in CSS, with its own RSS feed (which you can access directly here).
For the database, I’m using SQLite, which is an amazingly small and capable database that requires no configuration at all.
The total size of the code for this site is (OK – it’s growing now!) less than 300 lines combining templates, database models, and the logic that drives the site. Everything else comes courtesy of the Django developers and the power of Python.