This is a good question, but a false dichotomy, since you can use Django cached.Loader and pass Jinja Loaders to it to have cached Jinja templates.
Secondly, template caching is not only speed. I would recommend a cached loader when DEBUG = False, so you can easily iterate over templates during development, but a cached loader is important for production, because without caching, your templates may not synchronize with your code for some period of time, deployment.
For example, let's say you change the context of the view and update the template, as well as commit. Now, if you pull git, and then restart the server, the time between git pulling and restarting, the view will be 500, because you are serving a new template with old code. If you receive multiple requests per second, this will lead to the production of the 500s, unless your production deployment method deceives it using multiple directories.
source share