From 32cd7069711d2e02fcd20c005c59c175d542c62e Mon Sep 17 00:00:00 2001 From: Jacek Bzdak Date: Tue, 20 Oct 2015 19:12:48 +0200 Subject: [PATCH] Fixed #25574 -- Documented {{ dict.items }} shadowing in for template tag docs. --- docs/ref/templates/builtins.txt | 8 ++++++++ docs/ref/templates/language.txt | 2 ++ 2 files changed, 10 insertions(+) diff --git a/docs/ref/templates/builtins.txt b/docs/ref/templates/builtins.txt index e787ee8781..b0e61d16ca 100644 --- a/docs/ref/templates/builtins.txt +++ b/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 `. + The for loop sets a number of variables available within the loop: ========================== =============================================== diff --git a/docs/ref/templates/language.txt b/docs/ref/templates/language.txt index 4691a07689..0a50adfa19 100644 --- a/docs/ref/templates/language.txt +++ b/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 =========