I don't think scaffolding is bad just because it can't support all
admin interface situations.  It's great while you're prototyping, and
may be perfectly fine for many applications where you just want a
simple admin interface.  Django's admin interface falls down as well if
your requirements are a bit complex.  It's the same argument.

As for best practices, I think we can copy and improve on RoR.  The
directories RoR creates is a good list of "best practices" to start
from.

django-admin can support environment variables similarly to the way
'cvs' does so.  The point is that in 99% of the cases you don't want to
use it after you've checked out a project.

> Generating the model from the database is one of the few things that I
> absolutely cannot stand about Rails, and to my mind it creates a
> significant and unnecessary learning curve...  [ it violates DRY ]

In Django, as soon as you have a production system with legacy data,
you'll have to keep both the database model and the Django model
up-to-date.  Having the framework automatically update the database
schema is probably too volatile, so you'll have to do it manually.  The
point is you'll ALWAYS have to deal with the database schema,
eventually, so why not make this be the source of the model?  That is
DRY in my opinion.

Django isn't strictly MVC...  Well, maybe it's close enough, and maybe
it should be made more close.  In any case, redefining well-established
names like 'view' (especially when there is a 'model' in there as well)
is not going to make it any easier to understand.

I'm not saying Django should be 100% like RoR, but I'm just afraid
we're so stuck on trying to be different that we're falling victim to
the "not invented here" syndrome and ignore good learnings from RoR.

Reply via email to