summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/utils/http.py3
-rw-r--r--tests/regressiontests/text/tests.py4
2 files changed, 6 insertions, 1 deletions
diff --git a/django/utils/http.py b/django/utils/http.py
index 4c3b6af868..4912c9c46a 100644
--- a/django/utils/http.py
+++ b/django/utils/http.py
@@ -9,7 +9,8 @@ def urlquote(url, safe='/'):
can safely be used as part of an argument to a subsequent iri_to_uri() call
without double-quoting occurring.
"""
- return force_unicode(urllib.quote(smart_str(url)))
+ return force_unicode(urllib.quote(smart_str(url), safe))
+
urlquote = allow_lazy(urlquote, unicode)
def urlquote_plus(url, safe=''):
diff --git a/tests/regressiontests/text/tests.py b/tests/regressiontests/text/tests.py
index 0fd22b58b0..962a30ef19 100644
--- a/tests/regressiontests/text/tests.py
+++ b/tests/regressiontests/text/tests.py
@@ -20,8 +20,12 @@ friends'
>>> from django.utils.http import urlquote, urlquote_plus
>>> urlquote(u'Paris & Orl\xe9ans')
u'Paris%20%26%20Orl%C3%A9ans'
+>>> urlquote(u'Paris & Orl\xe9ans', safe="&")
+u'Paris%20&%20Orl%C3%A9ans'
>>> urlquote_plus(u'Paris & Orl\xe9ans')
u'Paris+%26+Orl%C3%A9ans'
+>>> urlquote_plus(u'Paris & Orl\xe9ans', safe="&")
+u'Paris+&+Orl%C3%A9ans'
### iri_to_uri ###########################################################
>>> from django.utils.encoding import iri_to_uri