summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Hurley <gabehr@gmail.com>2010-10-25 20:52:04 +0000
committerGabriel Hurley <gabehr@gmail.com>2010-10-25 20:52:04 +0000
commitda5f6ef9e04e6f5d43b4d93699cd56c82f7c2917 (patch)
tree492f140931ddc62d155002a49f81be88a1fef0ef
parent1826039e002694c1804eead4786789d0369758d6 (diff)
[1.2.X] Fixed #10545 -- Mentioned that template context variables only exist in the scope of th block in which they're assigned. Thanks to yaniv.haber for the report and timo for the patch.
Backport of [14350] from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@14351 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--docs/howto/custom-template-tags.txt9
1 files changed, 8 insertions, 1 deletions
diff --git a/docs/howto/custom-template-tags.txt b/docs/howto/custom-template-tags.txt
index c4d2315bd4..95ce274460 100644
--- a/docs/howto/custom-template-tags.txt
+++ b/docs/howto/custom-template-tags.txt
@@ -790,7 +790,7 @@ difference between this case and the previous ``inclusion_tag`` example.
Setting a variable in the context
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The above example simply output a value. Generally, it's more flexible if your
+The above examples simply output a value. Generally, it's more flexible if your
template tags set template variables instead of outputting values. That way,
template authors can reuse the values that your template tags create.
@@ -816,6 +816,13 @@ Here's how you'd use this new version of the tag:
{% current_time "%Y-%M-%d %I:%M %p" %}<p>The time is {{ current_time }}.</p>
+.. admonition:: Variable scope in context
+
+ Any variable set in the context will only be available in the same ``block``
+ of the template in which it was assigned. This behaviour is intentional;
+ it provides a scope for variables so that they don't conflict with
+ context in other blocks.
+
But, there's a problem with ``CurrentTimeNode2``: The variable name
``current_time`` is hard-coded. This means you'll need to make sure your
template doesn't use ``{{ current_time }}`` anywhere else, because the