diff --git a/django/contrib/admin/templatetags/admin_urls.py b/django/contrib/admin/templatetags/admin_urls.py index 350057a117..b19ee104a1 100644 --- a/django/contrib/admin/templatetags/admin_urls.py +++ b/django/contrib/admin/templatetags/admin_urls.py @@ -1,12 +1,8 @@ -try: - from urllib.parse import parse_qsl, urlparse, urlunparse -except ImportError: - from urlparse import parse_qsl, urlparse, urlunparse - from django import template from django.contrib.admin.utils import quote from django.core.urlresolvers import Resolver404, get_script_prefix, resolve from django.utils.http import urlencode +from django.utils.six.moves.urllib.parse import parse_qsl, urlparse, urlunparse register = template.Library() diff --git a/django/http/request.py b/django/http/request.py index 6bce1f718d..4f272ec2c7 100644 --- a/django/http/request.py +++ b/django/http/request.py @@ -6,11 +6,6 @@ import re import sys from io import BytesIO from pprint import pformat -try: - from urllib.parse import parse_qsl, urlencode, quote, urljoin -except ImportError: - from urllib import urlencode, quote - from urlparse import parse_qsl, urljoin from django.conf import settings from django.core import signing @@ -20,6 +15,7 @@ from django.http.multipartparser import MultiPartParser, MultiPartParserError from django.utils import six from django.utils.datastructures import MultiValueDict, ImmutableList from django.utils.encoding import force_bytes, force_text, force_str, iri_to_uri +from django.utils.six.moves.urllib.parse import parse_qsl, urlencode, quote, urljoin RAISE_ERROR = object() diff --git a/django/http/response.py b/django/http/response.py index 602e03284d..27d99a621d 100644 --- a/django/http/response.py +++ b/django/http/response.py @@ -5,10 +5,6 @@ import json import sys import time from email.header import Header -try: - from urllib.parse import urlparse -except ImportError: - from urlparse import urlparse from django.conf import settings from django.core import signals @@ -20,6 +16,7 @@ from django.utils import six, timezone from django.utils.encoding import force_bytes, force_text, iri_to_uri from django.utils.http import cookie_date from django.utils.six.moves import map +from django.utils.six.moves.urllib.parse import urlparse # See http://www.iana.org/assignments/http-status-codes diff --git a/docs/ref/urlresolvers.txt b/docs/ref/urlresolvers.txt index 2c57a5e1cd..13e5c559db 100644 --- a/docs/ref/urlresolvers.txt +++ b/docs/ref/urlresolvers.txt @@ -166,9 +166,9 @@ A :class:`ResolverMatch` object can also be assigned to a triple:: One possible use of :func:`~django.core.urlresolvers.resolve` would be to test whether a view would raise a ``Http404`` error before redirecting to it:: - from urlparse import urlparse from django.core.urlresolvers import resolve from django.http import HttpResponseRedirect, Http404 + from django.utils.six.moves.urllib.parse import urlparse def myview(request): next = request.META.get('HTTP_REFERER', None) or '/'