summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2006-02-09 00:31:51 +0000
committerAdrian Holovaty <adrian@holovaty.com>2006-02-09 00:31:51 +0000
commite0c915ec39c646f9444eebf37abca015d7a48865 (patch)
tree4a7196c3296debc2b19ce4969b0fdb36c775637f /docs
parentba8f23424bc6ea885a129cc08f9702976e2bb0ea (diff)
Added TEMPLATE_STRING_IF_INVALID setting, which specifies what the template system should output in case of invalid variables. Default is empty string (to match current behavior)
git-svn-id: http://code.djangoproject.com/svn/django/trunk@2294 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'docs')
-rw-r--r--docs/settings.txt12
-rw-r--r--docs/templates.txt6
-rw-r--r--docs/templates_python.txt30
3 files changed, 40 insertions, 8 deletions
diff --git a/docs/settings.txt b/docs/settings.txt
index 3f83ea0e69..bf333da1b8 100644
--- a/docs/settings.txt
+++ b/docs/settings.txt
@@ -621,6 +621,18 @@ Default: ``('django.core.template.loaders.filesystem.load_template_source',)``
A tuple of callables (as strings) that know how to import templates from
various sources. See the `template documentation`_.
+TEMPLATE_STRING_IF_INVALID
+--------------------------
+
+Default: ``''`` (Empty string)
+
+**New in Django development version.**
+
+Output, as a string, that the template system should use for invalid (e.g.
+misspelled) variables. See `How invalid variables are handled`_.
+
+.. _How invalid variables are handled: http://www.djangoproject.com/documentation/templates_python/#how-invalid-variables-are-handled
+
TIME_FORMAT
-----------
diff --git a/docs/templates.txt b/docs/templates.txt
index 20fe62bbae..d210ec2f77 100644
--- a/docs/templates.txt
+++ b/docs/templates.txt
@@ -70,6 +70,12 @@ Use a dot (``.``) to access attributes of a variable.
In the above example, ``{{ section.title }}`` will be replaced with the
``title`` attribute of the ``section`` object.
+In Django 0.91, if you use a variable that doesn't exist, it will be silently
+ignored; the variable will be replaced by nothingness. In the Django
+development version, if a variable doesn't exist, the template system inserts
+the value of the ``TEMPLATE_STRING_IF_INVALID`` setting, which is set to ``''``
+(the empty string) by default.
+
If you use a variable that doesn't exist, it will be silently ignored. The
variable will be replaced by nothingness.
diff --git a/docs/templates_python.txt b/docs/templates_python.txt
index efbd648cf1..9203b92f9c 100644
--- a/docs/templates_python.txt
+++ b/docs/templates_python.txt
@@ -135,14 +135,6 @@ Here are a few examples::
>>> t.render(c)
"The first stooge in the list is Larry."
-If a variable doesn't exist, the template system fails silently. The variable
-is replaced with an empty string::
-
- >>> t = Template("My name is {{ my_name }}.")
- >>> c = Context({"foo": "bar"})
- >>> t.render(c)
- "My name is ."
-
Method lookups are slightly more complex than the other lookup types. Here are
some things to keep in mind:
@@ -193,6 +185,28 @@ some things to keep in mind:
self.database_record.delete()
sensitive_function.alters_data = True
+How invalid variables are handled
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In Django 0.91, if a variable doesn't exist, the template system fails
+silently. The variable is replaced with an empty string::
+
+ >>> t = Template("My name is {{ my_name }}.")
+ >>> c = Context({"foo": "bar"})
+ >>> t.render(c)
+ "My name is ."
+
+This applies to any level of lookup::
+
+ >>> t = Template("My name is {{ person.fname }} {{ person.lname }}.")
+ >>> c = Context({"person": {"fname": "Stan"}})
+ >>> t.render(c)
+ "My name is Stan ."
+
+In the Django development version, if a variable doesn't exist, the template
+system inserts the value of the ``TEMPLATE_STRING_IF_INVALID`` setting, which
+is set to ``''`` (the empty string) by default.
+
Playing with Context objects
----------------------------