The reason I chose django in the first place was the documentation.
Compared to everything out there, it was incredible.  Back then it
also had a helpful comments section on each page where people chimed
in to clarify various parts of the document.  It reads like a text
book, which is a big help when learning the framework.

Unfortunately it reads like a text book, which is a big pain when you
know the story and just need the details.  The wonderful code snippets
lose their context.  The lengthy explanations and sequential
introduction of facts becomes more hinderence than help when trying to
find that one bit you know is in there somewhere, but it's a needle in
a haystack.  It's designed for reading, not so much for reference.
It's also definitely not for the impatient.

After several years with Django, I usually find it easier to just poke
around the source. It's all layed out logically and, and if you have a
general overview of the framework it's much faster than trying to scan
through the online docs.  Unfortunately this approach requires a
certain level of familiarity with how django works to get the most out
of it.

A few things I think would help make a big difference (they would have
to me at least):

1) A couple of complete reference examples.  Not just snippets
introduced a few lines at a time, but full working examples you can
unzip and expect to work and provide a simple reference to the basics.
I've been using django for 3 years now in developing a fairly complex
project.  I'm still not 100% clear on the best way to layout a
project.  What I have obviously works, and I'm stuck with it now...
but it was a guess back when I first started.    I realize there is no
one size fits all answer for that type of question, but a tiny working
example with one project and two apps would go along way to providing
someone first starting out, especially if the projects did simple
introductions to all the major topics: a view, a view with an
authentication decorator, a good example of template inheritance use
to 'theme' a site, a few of forms, severa of which don't use a helper
(ie no ModelForm) and requires some inter-field validation, maybe a
simple middlware that reads/writes a cookie.  A custom tag/filter or
two.  Something that showcases the "admin is not your app" principle.
I really would love to do this, but I'm a little concerned it would
turn out to be a bad example here and there!  If there is interest I'd
volunteer to give it a go though.

2) An overview of how django processes a request.  From start to
finish, concise on one page with links to the appropriate details if
necessary.  Possibly a paragraph or two explaining how it differs from
say php.  In my opinion this should be the first page of the
documentation, well before the tutorial. The following page is
ancient, but a good example of what I mean. It wasn't until I read it
that everything just kinda clicked. Too bad it took a good 6 months
for me to run across it more or less on accident.

http://www.b-list.org/weblog/2006/jun/13/how-django-processes-request/

3) The page comments for the existing documentation.  I really miss
that feature.  The comment system PHP uses improves their
documentation many times over.  With Django's great community I'm sure
we'd get a lot of good additions, though moderating the comments makes
more work for someone.

4) A small 'best practices' reference not about the django details,
but the big picture.  Using virtualev.  Project layout.  Admin vs
app.  Considerations to keep in mind for writing reusable apps.
Production vs Development configurations and switching. Handling
timezone conversions.  Avoiding performance pitfalls when using orm
queries.  Signals, how they can be useful.






-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to