Djangoのテンプレートで定数を使う方法

今回は、グローバル変数として定義している定数(const)をテンプレート内で使いたかったので、
やってみました。
これをやると

{% my_const 'HOGE_NUMBER' as HOGE_NUMBER %}

こんな感じで、テンプレート内で使えるようになります。

定数を読み込むタグを作成

getattrを使ってファイルの変数読み込むことができる
myapp/templatetags.py

import myconst

@register.simple_tag
def my_const(name):
    return getattr(myconst, name, None)

表示する場合

my_template.html

{% my_const 'HOGE_NUMBER' %}

if文とかに利用する場合

asを使うことで変数としてテンプレート内で使える
my_template.html

{% my_const 'HOGE_NUMBER' as HOGE_NUMBER %}

{% if hoge == HOGE_NUMBER %}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です