From a4ddecd15c1ea38a7827426f73ddd997786d42cd Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Tue, 13 Feb 2007 05:50:55 +0000 Subject: [PATCH] Fixed #3155 -- Allow an integer to be passed to the urlencode filter. Patch based on one from SmileyChris. git-svn-id: http://code.djangoproject.com/svn/django/trunk@4496 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/template/defaultfilters.py | 2 ++ tests/regressiontests/defaultfilters/tests.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/django/template/defaultfilters.py b/django/template/defaultfilters.py index b0cfcfdeb9..a95a5dff6f 100644 --- a/django/template/defaultfilters.py +++ b/django/template/defaultfilters.py @@ -141,6 +141,8 @@ def upper(value): def urlencode(value): "Escapes a value for use in a URL" import urllib + if not isinstance(value, basestring): + value = str(value) return urllib.quote(value) def urlize(value): diff --git a/tests/regressiontests/defaultfilters/tests.py b/tests/regressiontests/defaultfilters/tests.py index 481557b782..b4ec9a0b03 100644 --- a/tests/regressiontests/defaultfilters/tests.py +++ b/tests/regressiontests/defaultfilters/tests.py @@ -111,6 +111,8 @@ u'\xcb' >>> urlencode('jack & jill') 'jack%20%26%20jill' +>>> urlencode(1) +'1' >>> urlizetrunc('http://short.com/', 20)