mirror of
https://github.com/django/django.git
synced 2025-07-24 13:44:32 +00:00
Fixed #19253 -- Extracted template cache key building logic
Introduced a public function django.core.cache.utils.make_template_fragment_key Thanks @chrismedrela for fruitful cooperation.
This commit is contained in:
parent
b9cc61021a
commit
99edbe0e27
5 changed files with 60 additions and 7 deletions
|
@ -639,6 +639,23 @@ equivalent:
|
|||
This feature is useful in avoiding repetition in templates. You can set the
|
||||
timeout in a variable, in one place, and just reuse that value.
|
||||
|
||||
.. function:: django.core.cache.utils.make_template_fragment_key(fragment_name, vary_on=None)
|
||||
|
||||
If you want to obtain the cache key used for a cached fragment, you can use
|
||||
``make_template_fragment_key``. ``fragment_name`` is the same as second argument
|
||||
to the ``cache`` template tag; ``vary_on`` is a list of all additional arguments
|
||||
passed to the tag. This function can be useful for invalidating or overwriting
|
||||
a cached item, for example:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
>>> from django.core.cache import cache
|
||||
>>> from django.core.cache.utils import make_template_fragment_key
|
||||
# cache key for {% cache 500 sidebar username %}
|
||||
>>> key = make_template_fragment_key('sidebar', [username])
|
||||
>>> cache.delete(key) # invalidates cached template fragment
|
||||
|
||||
|
||||
The low-level cache API
|
||||
=======================
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue