mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	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:
		| @@ -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. | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user