[1.7.x] Fixed #23114 -- Clarified documentation of template lookups.

Thanks to gmunumel and Tom Dalton for their help on the patch.

Backport of 62c74abbb0 from master.
This commit is contained in:
Baptiste Mispelon 2014-07-29 10:54:11 +02:00
parent 394053ce60
commit 13d44f54a2
1 changed files with 8 additions and 6 deletions

View File

@ -95,13 +95,15 @@ Use a dot (``.``) to access attributes of a variable.
following lookups, in this order:
* Dictionary lookup
* Attribute lookup
* Method call
* List-index lookup
* Attribute or method lookup
* Numeric index lookup
This can cause some unexpected behavior with objects that override
dictionary lookup. For example, consider the following code snippet that
attempts to loop over a ``collections.defaultdict``::
If the resulting value is callable, it is called with no arguments. The
result of the call becomes the template value.
This lookup order can cause some unexpected behavior with objects that
override dictionary lookup. For example, consider the following code snippet
that attempts to loop over a ``collections.defaultdict``::
{% for k, v in defaultdict.iteritems %}
Do something with k and v here...