PyramidとJinja2で、Jinja2にデバッグモードであることを伝える方法

本番環境でのみ、GoogleAnalyticsを有効にするため、デバッグモードであるか否かをJinja2内で判断する方法を考えました。

Pyramidのproduction.iniにこれを追記します。

[app:main]
jinja2.globals =
    is_debug = app.helpers.false

同じくdevelopment.iniにはこれを追記します。

[app:main]
jinja2.globals =
    is_debug = app.helpers.true

これで、Jinja2の中で {% if is_debug %} と書くことで、デバッグモードでのみ有効にしたい内容を書くことができます。同じように、is_productionや否定をすることで、本番での有効な処理を記述すつこともできます。

ちなみに、helpers.pyの内容はこうなっています。

true = True
false = False

コメント

2015 - 2017 (c) 成瀬基樹