Используйте промежуточное ПО или настраиваемый тег шаблона для нечасто изменяемого фрагмента

У меня есть небольшой фрагмент, который я хочу разместить на боковой панели. Фрагмент будет виден на каждой странице, и, несмотря на дешевизну получения (около 50 мсек на моем сверхмедленном нетбуке!), Он будет меняться настолько редко, что я бы очень хотел кешировать его (отчасти потому, что я еще не использовал кеш Django. framework, и я бы хотел узнать).

Я не уверен, что лучше всего здесь - промежуточное ПО или собственный тег шаблона? Я не уверен, насколько легко было бы реализовать кеширование с помощью этих подходов. Это настолько стандартная вещь, которую нужно сделать (то есть кеширование фрагмента для фрагмента, видимого на каждой странице), что я уверен, что есть способ сделать это Djangonic, но я не могу найти что это.

Как ты это делаешь?


person Dominic Rodger    schedule 21.09.2009    source источник
comment
Сообщение о статусе (то, что вы публикуете в твите).   -  person Dominic Rodger    schedule 21.09.2009


Ответы (2)


Я не думаю, что вам нужно использовать промежуточное ПО. Для этого подойдет специальный тег шаблона. Поскольку вы делаете что-то вроде сообщения о состоянии, оно не будет связано с текущим представлением, поэтому тег определенно подходит.

Просто настройте серверную часть кеша (это очень легко сделать ), и у вас будет доступ к методам cache.set() и cache.get(), которые вы можете использовать для хранения и получения сообщения о состоянии. Обязательно очищайте кеш при каждом обновлении сообщения о состоянии.

person Fragsworth    schedule 21.09.2009
comment
+1 - Я пометил это как принятый ответ, но и в ответе Неда нет ничего плохого. - person Dominic Rodger; 22.09.2009

Звучит идеально для кэширования фрагментов шаблона.

person Ned Batchelder    schedule 21.09.2009
comment
Это хорошо, если не имеет значения, что будет задержка после изменения содержимого. - person Fragsworth; 21.09.2009