Hello Matthew,
I understand the suggestion, however, I’m afraid it priorizes the needs of the wrong audience. Experienced developers or teams who care about docstrings and pylint can use a custom project template for this use case. Conversely, newcomers who are still learning Django would likely leave a docstring stub untouched. I lost count of the number of copies of
https://github.com/django/django/blob/master/django/conf/app_template/tests.py-tpl I git-rm’d over the years...
There’s no denying docstrings are useful, but many projects — even large ones — are doing just fine without adding one to every single module. I don’t believe Django should be exceedingly prescriptive in this regard because I’m afraid we’d just encourage the perversion of JavaDoc / PHPDoc / epydoc / etc., that is, docstrings written because they’re mandatory and add zero value, like """This module defines the models for billing.”””. Well, it’s called `billing/models.py`, I knew that already.
If that requirement was found in PEP 8 or more widely followed by the community, I’d be more open to encoding it in the default project template. PEP 257 sounds a bit self-serving there...