/me rereads this email... Alright, the content of what I'm saying I still agree with. The wording was a bit harsh... I literally wrote this during insomnia with a 101 degree fever at 6:00AM. It was supposed to be funny, not mean.
I still think we should adjust that documentation, but if it offended anyone, I'll retract the projects->HPV analogy :) Christopher Allan Webber <[EMAIL PROTECTED]> writes: > So, by now the primary problem with Django is not the lack of good > applications. There are tons of good applications. The primary problem > is that almost none of them work together. There are a few reasons for > this... some of it has to do with templating, some of it has to do with > people not using url reversal, and some of it has to do with the fact > that most large django applications want to install some non-models > related administrative ability to the django admin, so most of them > override the admin templates in ways that make them incompatible. But > by far the biggest problem (and which encourages these other problems > even more) is projects. > > Projects! > > I probably don't need to go into detail about *why* projects are bad. > That's been discussed plenty before: > http://groups.google.com/group/django-developers/browse_thread/thread/e9d92bceab679f6a > > But it's such a shame... we know that we're teaching bad habits from the > very beginning. We know that tying applications to a specific project > make those applications either unusable or very difficult to use with > installations outside that project. And yet we still teach it! And the > vast majority of users still follow these bad teachings. Some of the > best, most high profile django projects follow these bad practices, like > Review Board. And it isn't their fault! > > If there was a cancer that was rapidly spreading through sexual contact, > but which was preventable by being vaccinated early on, what would the > best thing to do be? Sure, it's worth our time to treat the victims, > but it's much less costly if we just stop the problem upfront by > vaccinating. In fact, it's even worse. It's like we're handing our > users a bottle of lube known to be contaminated with the stuff and > saying, "Here you go guys, apply liberally." > > Okay, that analogy starts to break down when you think about it too > much. But the point is, it's easier to prevent by teaching good > practices from the get-go. > > So, django's documentation is already suggesting that we want users to > do the right thing: > > Philosophy > > Django apps are "pluggable": You can use an app in multiple projects, > and you can distribute apps, because they don't have to be tied to a > given Django installation. > > Unfortunately, this is telling users that right after telling them how > to set up their site structure with "startproject". And there is no > mention, here or later, that there is a better way of doing things, and > a pointer to whatever kind of document would help describe that way. > > In the previous discussion, James Bennett listed two solutions to this: > > 1. Expand the default application skeleton, or differentiate somehow > between a minimal, "traditional" app skeleton and a more robust one > which includes files and directories oriented at a distributable > application. > > 2. Spend a lot more time documenting best practices of application > development, possibly even mentioning in the tutorial that the > "apps inside project" model it uses is followed for convenience and > not because it's the best/only way to work. > > People seemed to be in favour of number two, which is "Teach the bad > habits with an emphasis that these habits are bad, and that there is > documentation to do things right." I think this is fine (teachers and > professors do this all the time with their intro students)... we just > need to do it. > > I am more than happy to help with writing up documentation, whatever. I > just want to see django applications work together as a big, happy, > pluggable family. > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-developers?hl=en -~----------~----~----~----~------~----~------~--~---