summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorCarlton Gibson <carlton.gibson@noumenal.es>2022-04-12 16:21:02 +0200
committerCarlton Gibson <carlton.gibson@noumenal.es>2022-04-19 12:13:27 +0200
commitbf7c51a5f4da5f00b46923545ea6657ba9556bf6 (patch)
treedf475f9ae8b8ad68481448eb2e3720d4d445e739 /docs
parentf4f2afeb457429f55d6325ed557f8e92a74ee028 (diff)
Fixed #33639 -- Enabled cached template loader in development.
Diffstat (limited to 'docs')
-rw-r--r--docs/ref/templates/api.txt26
-rw-r--r--docs/releases/4.1.txt11
2 files changed, 28 insertions, 9 deletions
diff --git a/docs/ref/templates/api.txt b/docs/ref/templates/api.txt
index 1082823e71..2e0adb0046 100644
--- a/docs/ref/templates/api.txt
+++ b/docs/ref/templates/api.txt
@@ -99,9 +99,14 @@ overridden by what's passed by
* ``'django.template.loaders.app_directories.Loader'`` if and only if
``app_dirs`` is ``True``.
- If ``debug`` is ``False``, these loaders are wrapped in
+ These loaders are then wrapped in
:class:`django.template.loaders.cached.Loader`.
+ .. versionchanged:: 4.1
+
+ In older versions, the cached template loader was only enabled by
+ default when ``DEBUG`` was ``False``.
+
See :ref:`template-loaders` for details.
* ``string_if_invalid`` is the output, as a string, that the template
@@ -905,10 +910,9 @@ loaders that come with Django:
.. class:: cached.Loader
- By default (when :setting:`DEBUG` is ``True``), the template system reads
- and compiles your templates every time they're rendered. While the Django
- template system is quite fast, the overhead from reading and compiling
- templates can add up.
+ While the Django template system is quite fast, if it needs to read and
+ compile your templates every time they're rendered, the overhead from that
+ can add up.
You configure the cached template loader with a list of other loaders that
it should wrap. The wrapped loaders are used to locate unknown templates
@@ -917,11 +921,9 @@ loaders that come with Django:
subsequent requests to load the same template.
This loader is automatically enabled if :setting:`OPTIONS['loaders']
- <TEMPLATES-OPTIONS>` isn't specified and :setting:`OPTIONS['debug']
- <TEMPLATES-OPTIONS>` is ``False`` (the latter option defaults to the value
- of :setting:`DEBUG`).
+ <TEMPLATES-OPTIONS>` isn't specified.
- You can also enable template caching with some custom template loaders
+ You can manually specify template caching with some custom template loaders
using settings like this::
TEMPLATES = [{
@@ -947,6 +949,12 @@ loaders that come with Django:
information, see :ref:`template tag thread safety considerations
<template_tag_thread_safety>`.
+ .. versionchanged:: 4.1
+
+ The cached template loader was enabled whenever ``OPTIONS['loaders']``
+ is not specified. Previously it was only enabled when ``DEBUG`` was
+ ``False``.
+
``django.template.loaders.locmem.Loader``
.. class:: locmem.Loader
diff --git a/docs/releases/4.1.txt b/docs/releases/4.1.txt
index f248e1f21e..e84a47dd2d 100644
--- a/docs/releases/4.1.txt
+++ b/docs/releases/4.1.txt
@@ -339,12 +339,19 @@ Signals
:data:`~django.db.models.signals.post_delete` signals now dispatch the
``origin`` of the deletion.
+.. _templates-4.1:
+
Templates
~~~~~~~~~
* :tfilter:`json_script` template filter now allows wrapping in a ``<script>``
tag without the HTML ``id`` attribute.
+* The :class:`cached template loader <django.template.loaders.cached.Loader>`
+ is now enabled in development, when :setting:`DEBUG` is ``True``, and
+ :setting:`OPTIONS['loaders'] <TEMPLATES-OPTIONS>` isn't specified. You may
+ specify ``OPTIONS['loaders']`` to override this, if necessary.
+
Tests
~~~~~
@@ -484,6 +491,10 @@ Miscellaneous
* The undocumented ``InlineAdminFormSet.non_form_errors`` property is replaced
by the ``non_form_errors()`` method. This is consistent with ``BaseFormSet``.
+* As per :ref:`above<templates-4.1>`, the cached template loader is now
+ enabled in development. You may specify ``OPTIONS['loaders']`` to override
+ this, if necessary.
+
.. _deprecated-features-4.1:
Features deprecated in 4.1