У меня есть приложение «живые настройки», которое я использую для хранения определенных глобальных настроек сайта. Некоторые страницы моего сайта ссылаются на эти настройки, хотя обычно они используют только 2-3 одновременно. Я получаю доступ к этим настройкам, используя собственный тег шаблона, например:
{% settings site_name %}
Каждый раз, когда я использую этот тег, модель будет извлекать настройки из базы данных, поэтому, если бы у меня было что-то вроде:
{% settings site_name %} {% settings num_articles %}
база данных будет запрашиваться дважды.
То, что я хотел бы сделать, это не нажимать на базу данных более одного раза на страницу для значений параметров, если бы я мог получить все параметры, использованные на странице, а затем нажать на базу данных, чтобы получить их все, это было бы много лучше.
Я просмотрел документацию, и, похоже, у Django нет сигнала предварительного рендеринга, который я мог бы использовать для обновления любых ссылок на настройки, так что у кого-нибудь есть предложения, как мне оптимизировать эту систему? И да, очевидно, что кеширование - это очевидный ответ, но я все же хотел бы улучшить это, когда страница не кэшируется.