[Dynamic Language] Python Django: 模板引擎(2)上下文Context

上下文(context)对象
Context可以通过一个完全填充(full populated)的字典来初始化,也可以使用标准的Python字典语法向其添加删除条目。

 

In [34]: c = Context({"foo":"bar"})
In [35]: c['foo']
Out[
35]: 'bar'
In [36]: del c['foo'] // 删除条目
In [37]: c['foo']

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)

/home/abeen/django_test/mysite/<ipython console> in <module>()

/usr/local/lib/python2.6/dist-packages/Django-1.2.1-py2.6.egg/django/template/context.pyc in __getitem__                                                                     (self, key)
     44             if key in d:
     45                 return d[key]
---> 46         raise KeyError(key)
     47
     48     def __delitem__(self, key):

KeyError: 'foo'

 

代码
In [38]: c['name'] = 'ABeen' //新加条目
In [39]: c['name']
Out[
39]: 'ABeen'
In [40]: t = Template('my name is {{person.name}}')
In [41]: c = Context({'person': c})
In [42]: t.render(c)
Out[
42]: u'my name is ABeen'
posted @ 2010-06-17 23:03  ABeen  阅读(396)  评论(0编辑  收藏  举报