HTMLへの展開以外でのテンプレートの使い方
テンプレートシステムは、HTMLの展開以外でも非常に便利なので、一般のファイルに対して使うことを考える。
例えば、以下のアスキーファイルで、0.001と200という数値を状況に応じて書き変えたい場合。
variable 1 is 0.001. variable 2 is 200.
テンプレートファイルを以下のように書く。val01とval02に値を入れればよい。ファイル名は、example.txtとしておく。
variable 1 is {{ val01 }}. variable 2 is {{ val02 }}.
まず、テンプレートファイルをロードするためには、検索パスを設定しておく。これは、プロジェクトディレクトリのsettings.py中のTEMPLATE_DIRSにパスを加えればよい。次に、実際の置き変えを行うコードは例えば以下のように書く。
from django.template import Context, loader def testwrite(adict): fp = open('/home/hoge/test.txt', 'w') t = loader.get_template('example.txt') fp.write(t.render(Context(adict)) fp.close()
ここで、adictは辞書で、
adict = {'val01': 0.02, 'val02': 100}
のように値を入れておく。