Having Ruby on Rails pounded into me for 5 straight days (it seemed to be a theme of OSCON) caused me to try out Django tonight.

I've only finished the 2nd tutorial but it's pretty impressive what's in there. The only thing that seems a little wierd is that you can describe the admin view in the model class. I know, even in the FAQ they claim not to be "MVC" but this just seems wierd. I thought modifying the display of items would belong in the controller. (Maybe that's just the evil struts side of me showing..., but I'd really like the model to just be the state of the items, along with methods to alter that state.) If I wanted to reuse the model code to create say a wx app, it would seem kindof weird.

The model code below is what I'm referring to (note the admin section which determines how the admin view is displayed...):

from django.core import meta
#Create your models here.

class Poll(meta.Model):
    fields = ( meta.CharField('question',
        meta.DateTimeField('pub_date', 'date published'), )
    admin = meta.Admin(
        list_display = ('question', 'pub_date', 'was_published_today'),
        list_filter = ['pub_date'],
        search_fields = ['question'],
        date_hierarchy = 'pub_date' ,)

Maybe it will grow into me... On a semi-related note, it is pretty interesting that both Django and Ruby on Rails evolved seperately (django actaully started before Rails (at least the Ruby version of Rails)) and they are pretty similar (you call a command to generate files, structure of apps, DRY).