Djangoのテンプレートの中で何度も使う変数をキャッシュする

Djangoの組み込みタグに「with」というものが用意されています。これを使うと、テンプレートの中で何度も使う変数をキャッシュしておくことができます。特に、重い関数を呼ぶ変数をキャッシュしておくとパフォーマンスがよくなると思われます。※ Django1.3から使い方が変わっている点に注意が必要です。

例) version < 1.3

{% with user.expensive_function as v %}
{{ v }} {{ v|upper }} {{ v|lower }}
{% endwith %}

(Built-in template tags and filters)

例) version >= 1.3

{% with v=user.expensive_function %}
{{ v }} {{ v|upper }} {{ v|lower }}
{% endwith %} 

(Built-in template tags and filters)

この記事が役に立った場合、シェアしていただけると励みになります!!