Я ищу способ перечисления ключей кэша из определенного файла шаблона при использовании кэширования шаблонов Django (Django 2+; Python 3.5+).Например:
{% load cache %}
{% block header %}
{% cache 600 contact_page_header %}
Contact page header, this will create a cache file.
{% endcache %}
{% endblock header %}
{% block content %}
<!-- HTML stuff here -->
{% cache 600 contact_page_content %} {# Fragment #}
Contact page header, this will create a cache file.
{% endcache %}
<!-- More HTML stuff -->
{% endblock content %}
Здесь есть contact_page_header
и contact_page_content
.Оба из них будут иметь свой собственный файл .djcache
.
Я хочу проверять эти ключи (динамически) при каждом сохранении модели и удалять contact_page_header.djcache
и contact_page_content.djcache
.Я знаю, что могу сделать это специально с cache.delete('contact_page_header')
и cache.delete('contact_page_content')
.
Я бы хотел найти способ динамически находить фрагменты кэша из шаблона и удалять их без удаления всего другого кэша шаблона и без указания, какие именно файлы кэша следует удалить, посколькукэш шаблона может измениться, и я хочу использовать повторно используемый код в других представлениях.В идеале я хотел бы написать Mixin, который при сохранении будет проверять фрагменты кэша из любой модели (и соответствующего шаблона) и удалять только эти файлы кэша вместо написания собственного метода для каждого Django.Посмотреть.