Fixed #23114 -- Clarified documentation of template lookups.
Thanks to gmunumel and Tom Dalton for their help on the patch.
This commit is contained in:
parent
d6e73a876d
commit
62c74abbb0
|
@ -95,13 +95,15 @@ Use a dot (``.``) to access attributes of a variable.
|
||||||
following lookups, in this order:
|
following lookups, in this order:
|
||||||
|
|
||||||
* Dictionary lookup
|
* Dictionary lookup
|
||||||
* Attribute lookup
|
* Attribute or method lookup
|
||||||
* Method call
|
* Numeric index lookup
|
||||||
* List-index lookup
|
|
||||||
|
|
||||||
This can cause some unexpected behavior with objects that override
|
If the resulting value is callable, it is called with no arguments. The
|
||||||
dictionary lookup. For example, consider the following code snippet that
|
result of the call becomes the template value.
|
||||||
attempts to loop over a ``collections.defaultdict``::
|
|
||||||
|
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 %}
|
{% for k, v in defaultdict.iteritems %}
|
||||||
Do something with k and v here...
|
Do something with k and v here...
|
||||||
|
|
Loading…
Reference in New Issue