Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #10014 -- Don't crash when using debug template tag inside a bl…

…ock node tag.

Returning non-ASCII characters from TextNode.__repr__ was causing
problems in the BlockNode.__repr__ method (and probably in other places
we don't know about yet). We now forcibly convert to ascii and replace any
unconvertible characters, rather than returning some moderately
corrupted data in the non-ASCII case.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@9757 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 14b3f03015081a679a6b5efaf5ea925344ce14c0 1 parent 344f16e
@malcolmt malcolmt authored
Showing with 3 additions and 2 deletions.
  1. +3 −2 django/template/__init__.py
View
5 django/template/__init__.py
@@ -55,7 +55,7 @@
from django.utils.itercompat import is_iterable
from django.utils.functional import curry, Promise
from django.utils.text import smart_split
-from django.utils.encoding import smart_unicode, force_unicode
+from django.utils.encoding import smart_unicode, force_unicode, smart_str
from django.utils.translation import ugettext as _
from django.utils.safestring import SafeData, EscapeData, mark_safe, mark_for_escaping
from django.utils.html import escape
@@ -785,7 +785,8 @@ def __init__(self, s):
self.s = s
def __repr__(self):
- return "<Text Node: '%s'>" % self.s[:25]
+ return "<Text Node: '%s'>" % smart_str(self.s[:25], 'ascii',
+ errors='replace')
def render(self, context):
return self.s
Please sign in to comment.
Something went wrong with that request. Please try again.