Friday, February 24, 2006

Django

I arrived at PyCon in time to catch lunch and a repeat of the history of Python talk that Guido gave at Google NYC on Wednesday. The first regular talk I went to was Adrian Holovaty's talk on Django. Steve Holden posted a nice summary of the Django talk. I'm still getting caught up on email and finishing my slides so I'll limit myself to one or two additions to Steve's post.

I like the scheme for mapping URLs to Python functions that provide the implementation. There is a regex-based mapping scheme that allows you to change the implementation (call a different function) without changing the urls. Adrian observed that the mapping file is also a great catalog of the software running in the site.

The key components of Django are:
  • A URL dispatcher
  • A database wrapper
  • A template system
  • An admin framework
There's nothing particularly surprising about this list. I like the emphasis on modularity he described. You can use any of the components in isolation (or none of them at all). It's nice to keep the components independent in this way. Zope, for example, is less modular. There are deep entanglements between Zope and ZODB, some of which I never figured out. I'm less certain about Zope3. Can you use individual components without also using the component model?

More random comments on my personal blog.

No comments: