Django roundup: August 19

  • Django project news:
    • Adrian Holovaty proposed and ultimately implemented a new feature this past week that greatly enhances the process of developing your Django application. Summarized greatly, Adrian’s opening post put it like this: “wouldn’t it be useful we made it easy to run the Django development server with fixture data?” The new django-admin.py command, --testserver, is implemented as of revision [5912] and allows developers to load the development server with a test (temporary) database, populated with a set of fixture data. There's a bit more going on with this command that's detailed in the documentation.
    • On quite the roll this week, Adrian also spearheaded a re-factoring of the django.core.management code in [5898], converting the previously 1700+ line python script into a package that will eventually allow developers of 3rd party applications to add management functions without patching core Django code. Currently the existing code has been refactored and initial documentation can be found in the SVN repository at this time. There are still a few minor bugs to be ironed out, but all signs point to this change being a blessing for 3rd party developers.
    • The Google Summer of Code program is coming to a close today (Monday, August 20). This will mark the point at which students will be able to commit their code for inclusion in Django (if necessary) and allow external developers to work on their projects. In this session, Django had four student developers working on projects. Keep your eyes peeled over the next few days and weeks for the students’ final official updates. Certainly, and hopefully, many of these fine individuals will go on to maintain their projects and perhaps become regular contributors to the Django community. If you’ve foundtheir projects useful, please be sure to thank them for their hard work and contributions. I’ve taken this opportunity to list and summarize each of the projects below:
  • New Django sites of note:
    • Technically, I ran across this site last week but through some sort of technical blunder, it escaped my roundup. Noonhat is a Django-powered site that lets you meet people in your area for lunch. You make an account, associate an email address, pick a geographical location, and specify a radius in which you’d be willing to travel for lunch. If another user’s circle intersects yours, and your availability matches up, you can be paired for a lunch. The point behind Noonhat is to help nearby people meet each other and have conversations with individuals whom you might not normally ever meet under normal circumstances.
    • Marco Gabriel contacted me this week to let me know that he and Open Source Publishing Germany will be producing a German-language Django book, Django. Einführung in das Django Web Framework. Marco has also begun work on djangobuch.de which is a German language website to compliment the publication. Marco would also like to hear about any efforts to organize a German Django community (i.e. djangoproject.de) in the vein of Django Brasil, Django en español, Django-fr, and Django Japan.
  • Code snippets and projects:
    • A natural consequence of iPhone hacking is the installation of Django. Jacob Kaplan-Moss did just that. The iPhone uses CoreData for almost all of its storage needs and thus nearly all the information stored on the iPhone is inside SQLite databases. Pairing this information with a local install of Django and the inspectdb functionality allows anyone to create a web interface capable of viewing and editing anything on the iPhone. Jacob has yet to document his accomplishment in detail, so you’ll have to settle for Flickr. Django ‘It worked!’ screen on iPhone. Parsing the iPhone’s SQLite databases in Django.
    • Tim Baxter has posted a method on his blog for generating microformats—specifically vCard—using Django: “If you use Django, it seems inevitable that the database will quickly have a lot of data that just lends itself to microformats, particularly calendar events and contact information. So, I’ve been playing around with microformats quite a bit lately and spitting out hcalendar and hcard microformats all over the place
    • One of the holy grails of content management is a dead-simple method for capturing and displaying a list of every change made to your data. This can now be implemented almost perfectly (there are a number of missing features, most notably relationships) in your existing Django application with only a single line of code in your Django model. Check out the AuditTrail page in the wiki for more explanation, code, caveats, and documentation.
    • Bruce Kroeze has posted a lighttpd configuration on his blog that allows developers to serve their Django application through both standard HTTP and SSL-enabled HTTPS without any troubles. This is an especially important thing to get right when deploying a shopping cart application like the Satchmo Project.
    • The 10percentofeverything.com blog illustrates how you can easily interact with your Django application from command line scripts: “Sometimes, I need to write command-line scripts to populate a database with information from some other source, like a webpage or third-party database. Since Django uses MySQL (among others) for its backend storage, it’s fairly easy to use Perl or any other language for this task. Problem is, it’s very boring and fiddly, so now I tend to use Django instead, which is really easy.
    • Linux Journal, a monthly magazine, has published an article on getting started with Django: “It would be misleading to say that Django is a Python port of Rails (or vice versa)... Both aspire to make Web development fun and easy, removing as much of the drudgery as possible from such work. Both use the model-view-controller (MVC) paradigm for handling actions and creating pages. Both use a particular programming language throughout the system for code and configuration files. And, both have managed to rally a large following, ensuring that they both will continue to be developed for some time to come.

If you have any tips, project announcements, or generally interesting Django news, email me at clintecker+djangotips@gmail.com.

Posted by Clint Ecker on August 19, 2007