summaryrefslogtreecommitdiff
path: root/django/utils/http.py
diff options
context:
space:
mode:
authorJannis Leidel <jannis@leidel.info>2011-04-22 12:01:41 +0000
committerJannis Leidel <jannis@leidel.info>2011-04-22 12:01:41 +0000
commitf4be8bd53d13c9ecb7f31998f89a2def11111efb (patch)
treee832bf69765de3007da017fcd5eb08bb644f0419 /django/utils/http.py
parent7d11c30994c5f90603264c6e2fcf1d9c79ab8924 (diff)
Fixed #9089 -- Correctly handle list values in MultiValueDict instances when passed to django.utils.http.urlencode. Thanks, kratorius, guettli and obeattie.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16064 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/utils/http.py')
-rw-r--r--django/utils/http.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/django/utils/http.py b/django/utils/http.py
index c93a338c30..4b43e5835e 100644
--- a/django/utils/http.py
+++ b/django/utils/http.py
@@ -6,6 +6,7 @@ import urllib
import urlparse
from email.Utils import formatdate
+from django.utils.datastructures import MultiValueDict
from django.utils.encoding import smart_str, force_unicode
from django.utils.functional import allow_lazy
@@ -49,7 +50,9 @@ def urlencode(query, doseq=0):
unicode strings. The parameters are first case to UTF-8 encoded strings and
then encoded as per normal.
"""
- if hasattr(query, 'items'):
+ if isinstance(query, MultiValueDict):
+ query = query.lists()
+ elif hasattr(query, 'items'):
query = query.items()
return urllib.urlencode(
[(smart_str(k),