Found in another thread [0]: "Some time in late 2003, Adrian and I decided that errors in templates
were best handled silently - the idea was that it would prevent untrained template editors from being able to 500-error a site with a
typo."
And another [1]: "The broad reasoning is that a partial page rendering is preferable to a 500 error when rendering a template. This is driven by production requirements -- the end user shouldn't ever see a 500 error."
As for me as a developer, I'd support removing the exception silencing that {% include %} does so that errors appear alongside any other exceptions (e.g. in Sentry) rather than in the django.template logger (that logging was added in Django 1.9).
[0]
https://groups.google.com/d/msg/django-developers/8yMzgEWsLl4/H7ITMVMkZcwJ[1]
https://groups.google.com/d/msg/django-developers/KpDS2tWLp7U/y7zli4P79nkJ