One nice thing about Django is that unlike many frameworks, you do not have to “grok” the whole thing to be productive. In my case, I hadn’t read a lot of the documentation other than the tutorial and the details of a few of the features I need for my first app.
Imagine my happy surprise when I found the very nicely implemented “documentation” link in the automatically generated admin site. I’d assumed it was a link to the static documentation or some such thing, like it is in most systems. Nope. It is much more.
It has details and documentation on everything I’ve done on the site. I habitually put in docstrings, so they are formatted for me and presented on the detail pages for my model objects. Wow. This is automatic, and a big incentive to keep doing that documentation! Every view is similarly detailed. In fact, there are auto-generated pages for Tags, Filters, Models, and Views. In each case, the documentation only shows things valid for the application. If you’ve added custom tags, they are there, along with all the built-in ones.
I hate to rave, but this level of detail and usefulness is unprecedented in my professional experience. Especially in a free and open programming framework.