|
@@ -97,6 +97,18 @@ Use a dot (``.``) to access attributes of a variable.
|
|
|
* Method call
|
|
|
* List-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``::
|
|
|
+
|
|
|
+ {% for k, v in defaultdict.iteritems %}
|
|
|
+ Do something with k and v here...
|
|
|
+ {% endfor %}
|
|
|
+
|
|
|
+ Because dictionary lookup happens first, that behavior kicks in and provides
|
|
|
+ a default value instead of using the intended ``.iteritems()``
|
|
|
+ method. In this case, consider converting to a dictionary first.
|
|
|
+
|
|
|
In the above example, ``{{ section.title }}`` will be replaced with the
|
|
|
``title`` attribute of the ``section`` object.
|
|
|
|