Djangoのテンプレートで定数を使う方法(カスタムタグを利用)

Djangoのテンプレートにて定数用モジュールを使う方法」で、コンテキストを使ってテンプレートに定数を渡す方法を書きました。しかし、さらにスマート(っぽい)やり方を思いついたのでメモしておきます。

まずは、カスタムタグを作り、その中に定数モジュールのattributeにアクセスして返す関数を作成します。そして、テンプレートにて、そのカスタムタグに作った関数をattributeを指定して使います。

例) テンプレートで定数を使う

--- const.py ---

ATTR1 = u"attr1"
--- my_tags.py (custom tags) ---

from django import template
import const
register = template.Library()

@register.simple_tag
def my_const(attr):
    return eval("const." + attr)
--- test.html ---

{% load my_tags %}
{% my_const ‘ATTR1' %}

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