Browse Source

Fixed #25574 -- Documented {{ dict.items }} shadowing in for template tag docs.

Jacek Bzdak 9 years ago
parent
commit
32cd706971
2 changed files with 10 additions and 0 deletions
  1. 8 0
      docs/ref/templates/builtins.txt
  2. 2 0
      docs/ref/templates/language.txt

+ 8 - 0
docs/ref/templates/builtins.txt

@@ -315,6 +315,14 @@ would display the keys and values of the dictionary::
         {{ key }}: {{ value }}
     {% endfor %}
 
+Keep in mind that for the dot operator, dictionary key lookup takes precedence
+over method lookup. Therefore if the ``data`` dictionary contains a key named
+``'items'``, ``data.items`` will return ``data['items']`` instead of
+``data.items()``. Avoid adding keys that are named like dictionary methods if
+you want to use those methods in a template (``items``, ``values``, ``keys``,
+etc.). Read more about the lookup order of the dot operator in the
+:ref:`documentation of template variables <template-variables>`.
+
 The for loop sets a number of variables available within the loop:
 
 ==========================  ===============================================

+ 2 - 0
docs/ref/templates/language.txt

@@ -74,6 +74,8 @@ explained later in this document.
 
     Oh, and one more thing: making humans edit XML is sadistic!
 
+.. _template-variables:
+
 Variables
 =========