django 的模板系统挺好用的,我想用来生成一些数据文件,并不想用起整个框架。
研究了下,下面的程序在 1.0.2 final 测试通过。
-------------------- foo.template --------------------
{{foo}}
{{bar}}
-------------------- settings.py --------------------
TEMPLATE_DIRS = ('./')
-------------------- gen_foo.py --------------------
# -*- coding:utf-8 -*-
imp
ort os, sys
from django.template import loader
sys.path.append(os.getcwd())
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'os.environ['TZ'] = 'GMT-8' # timezone
t = loader.render_to_string("foo.template", {'foo':10, 'bar':20})
f = file('output', 'w')
f.write(t)
f.close()
-------------------------------------------------------------------
$ python gen_foo.py
$ cat output
10
20
原理嘛,就是翻 django 代码,初始化好其需要的信息,就可以使用 render_to_string() 了
--------------------------------------------
2010-04-21
发现调用 render_to_string 后,python 的 time module api 的时区有点问题。
原来 django 还是要依赖我们设置时区的,否则会影响进程的 timezone。
评论