При передаче объекта с именем widget
в качестве части контекста для рендеринга шаблона django у меня может быть метод, который немного дороже, но я хочу отображать его результат более одного раза.
Python:
class Widget:
def work(self):
# Do something expensive
Шаблон
This is a widget, the result of whose work is {{widget.work}}. Do
you want to save {{widget.work}} or discard {{widget.work}}?
Очевидно, я мог бы обойти эту проблему, оценив метод один раз в коде представления, а затем передав результат вно это, кажется, соединяет представление и шаблон слишком много.Есть ли способ для автора шаблона хранить значения для последующего использования в шаблоне позже?Я хотел бы сделать что-то вроде этого:
{% work_result = widget.work %}
This is a widget, the result of whose
work is {{work_result}}. Do you want to save {{work_result}} or discard {{work_result}}?
Существует ли такая конструкция в языке шаблонов django?