Fixes #3529 -- more explicit documentation about Context.update. Thanks for the patch, ggetzie.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14689 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
ff7c243b4c
commit
4c51986790
|
@ -74,7 +74,7 @@ class Context(BaseContext):
|
|||
super(Context, self).__init__(dict_)
|
||||
|
||||
def update(self, other_dict):
|
||||
"Like dict.update(). Pushes an entire dictionary's keys and values onto the context."
|
||||
"Pushes other_dict to the stack of dictionaries in the Context"
|
||||
if not hasattr(other_dict, '__getitem__'):
|
||||
raise TypeError('other_dict must be a mapping (dictionary-like) object.')
|
||||
self.dicts.append(other_dict)
|
||||
|
|
|
@ -281,6 +281,22 @@ If you ``pop()`` too much, it'll raise
|
|||
...
|
||||
django.template.ContextPopException
|
||||
|
||||
In addition to ``push()`` and ``pop()``, the ``Context``
|
||||
object also defines an ``update()`` method. This works like ``push()``
|
||||
but takes a dictionary as an argument and pushes that dictionary onto
|
||||
the stack instead of an empty one.
|
||||
|
||||
>>> c = Context()
|
||||
>>> c['foo'] = 'first level'
|
||||
>>> c.update({'foo': 'updated'})
|
||||
{'foo': 'updated'}
|
||||
>>> c['foo']
|
||||
'updated'
|
||||
>>> c.pop()
|
||||
{'foo': 'updated'}
|
||||
>>> c['foo']
|
||||
'first level'
|
||||
|
||||
Using a ``Context`` as a stack comes in handy in some custom template tags, as
|
||||
you'll see below.
|
||||
|
||||
|
|
Loading…
Reference in New Issue