Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

[1.2.X] Fixed #11021 -- Clarified newline stripping behavior in the t…

…runcatewords and truncatewords_html filters. Thanks to Ben Spaulding for the report and patch.

Backport of r13555 from trunk.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@13562 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit c7c59bc24f6b680277c05e4b631d9e4a69f44473 1 parent 0ea661c
Russell Keith-Magee freakboy3742 authored
4 django/template/defaultfilters.py
View
@@ -256,6 +256,8 @@ def truncatewords(value, arg):
Truncates a string after a certain number of words.
Argument: Number of words to truncate after.
+
+ Newlines within the string are removed.
"""
from django.utils.text import truncate_words
try:
@@ -271,6 +273,8 @@ def truncatewords_html(value, arg):
Truncates HTML after a certain number of words.
Argument: Number of words to truncate after.
+
+ Newlines in the HTML are preserved.
"""
from django.utils.text import truncate_html_words
try:
12 django/utils/text.py
View
@@ -39,7 +39,10 @@ def _generator():
def truncate_words(s, num, end_text='...'):
"""Truncates a string after a certain number of words. Takes an optional
argument of what should be used to notify that the string has been
- truncated, defaults to ellipsis (...)"""
+ truncated, defaulting to ellipsis (...)
+
+ Newlines in the string will be stripped.
+ """
s = force_unicode(s)
length = int(num)
words = s.split()
@@ -51,10 +54,13 @@ def truncate_words(s, num, end_text='...'):
truncate_words = allow_lazy(truncate_words, unicode)
def truncate_html_words(s, num, end_text='...'):
- """Truncates html to a certain number of words (not counting tags and
+ """Truncates HTML to a certain number of words (not counting tags and
comments). Closes opened tags if they were correctly closed in the given
html. Takes an optional argument of what should be used to notify that the
- string has been truncated, defaults to ellipsis (...)."""
+ string has been truncated, defaulting to ellipsis (...).
+
+ Newlines in the HTML are preserved.
+ """
s = force_unicode(s)
length = int(num)
if length <= 0:
4 docs/ref/templates/builtins.txt
View
@@ -1883,6 +1883,8 @@ For example::
If ``value`` is ``"Joel is a slug"``, the output will be ``"Joel is ..."``.
+Newlines within the string will be removed.
+
.. templatefilter:: truncatewords_html
truncatewords_html
@@ -1902,6 +1904,8 @@ For example::
If ``value`` is ``"<p>Joel is a slug</p>"``, the output will be
``"<p>Joel is ...</p>"``.
+Newlines in the HTML content will be preserved.
+
.. templatefilter:: unordered_list
unordered_list
Please sign in to comment.
Something went wrong with that request. Please try again.