summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2009-03-02 08:16:33 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2009-03-02 08:16:33 +0000
commitdfddf129f07a859f52f04497f6254b675a345f8d (patch)
treef51646dc53a5b2318c2e279a0952adf6d6c88596 /django
parent851461aa72cc94e7000c3c7713e1d9fb130e0fda (diff)
Fixed #9701 -- Added a "safeseq" template filter.
This is like "safe", except it operates on the individual elements of a sequence, rather than treating the whole argument as a string. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9952 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
-rw-r--r--django/template/defaultfilters.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/django/template/defaultfilters.py b/django/template/defaultfilters.py
index 2f46dc7b57..ff8d4184ea 100644
--- a/django/template/defaultfilters.py
+++ b/django/template/defaultfilters.py
@@ -422,11 +422,19 @@ def safe(value):
"""
Marks the value as a string that should not be auto-escaped.
"""
- from django.utils.safestring import mark_safe
return mark_safe(value)
safe.is_safe = True
safe = stringfilter(safe)
+def safeseq(value):
+ """
+ A "safe" filter for sequences. Marks each element in the sequence,
+ individually, as safe, after converting them to unicode. Returns a list
+ with the results.
+ """
+ return [mark_safe(force_unicode(obj)) for obj in value]
+safeseq.is_safe = True
+
def removetags(value, tags):
"""Removes a space separated list of [X]HTML tags from the output."""
tags = [re.escape(tag) for tag in tags.split()]
@@ -876,6 +884,7 @@ register.filter(removetags)
register.filter(random)
register.filter(rjust)
register.filter(safe)
+register.filter(safeseq)
register.filter('slice', slice_)
register.filter(slugify)
register.filter(stringformat)