diff --git a/docs/ref/templates/api.txt b/docs/ref/templates/api.txt index 9d2954d22f..48bd346788 100644 --- a/docs/ref/templates/api.txt +++ b/docs/ref/templates/api.txt @@ -125,6 +125,10 @@ dot in a variable name, it tries the following lookups, in this order: * Attribute lookup. Example: ``foo.bar`` * List-index lookup. Example: ``foo[bar]`` +Note that "bar" in a template expression like ``{{ foo.bar }}`` will be +interpreted as a literal string and not using the value of the variable "bar", +if one exists in the template context. + The template system uses the first lookup type that works. It's short-circuit logic. Here are a few examples:: diff --git a/docs/topics/templates.txt b/docs/topics/templates.txt index 2fa6643975..af45a8d95b 100644 --- a/docs/topics/templates.txt +++ b/docs/topics/templates.txt @@ -102,7 +102,7 @@ Use a dot (``.``) to access attributes of a variable. attempts to loop over a ``collections.defaultdict``:: {% for k, v in defaultdict.iteritems %} - Do something with k and v here... + Do something with k and v here... {% endfor %} Because dictionary lookup happens first, that behavior kicks in and provides @@ -116,6 +116,10 @@ If you use a variable that doesn't exist, the template system will insert the value of the :setting:`TEMPLATE_STRING_IF_INVALID` setting, which is set to ``''`` (the empty string) by default. +Note that "bar" in a template expression like ``{{ foo.bar }}`` will be +interpreted as a literal string and not using the value of the variable "bar", +if one exists in the template context. + Filters =======