diff --git a/cms/djangoapps/api/v1/tests/test_views/test_course_runs.py b/cms/djangoapps/api/v1/tests/test_views/test_course_runs.py
index 62b09ccf7e1b1ee7ed223f778d346aa7df4b67b2..61e18e77e6f2489c7728c30939e7393813c0bbcb 100644
--- a/cms/djangoapps/api/v1/tests/test_views/test_course_runs.py
+++ b/cms/djangoapps/api/v1/tests/test_views/test_course_runs.py
@@ -3,7 +3,7 @@ import datetime
 import ddt
 import pytz
 from django.core.files.uploadedfile import SimpleUploadedFile
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import RequestFactory
 from opaque_keys.edx.keys import CourseKey
 from openedx.core.lib.courses import course_image_url
diff --git a/cms/djangoapps/cms_user_tasks/signals.py b/cms/djangoapps/cms_user_tasks/signals.py
index 6640ab2a18df6ea817545b5a57e3d293d96f3915..f4761264dfc240c17184a8f3b967808fc2be940e 100644
--- a/cms/djangoapps/cms_user_tasks/signals.py
+++ b/cms/djangoapps/cms_user_tasks/signals.py
@@ -5,7 +5,7 @@ from __future__ import absolute_import, print_function, unicode_literals
 
 import logging
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.dispatch import receiver
 from user_tasks.models import UserTaskArtifact
 from user_tasks.signals import user_task_stopped
diff --git a/cms/djangoapps/cms_user_tasks/tests.py b/cms/djangoapps/cms_user_tasks/tests.py
index 4672fc4915f5f47a1ce2e25f215a3d73cc565747..0ec1fb1d41526a7ff4dd9e6642f3290f9ef9e322 100644
--- a/cms/djangoapps/cms_user_tasks/tests.py
+++ b/cms/djangoapps/cms_user_tasks/tests.py
@@ -12,7 +12,7 @@ from boto.exception import NoAuthHandlerFound
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.core import mail
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import override_settings
 from rest_framework.test import APITestCase
 from user_tasks.models import UserTaskArtifact, UserTaskStatus
diff --git a/cms/djangoapps/contentstore/api/tests/test_views.py b/cms/djangoapps/contentstore/api/tests/test_views.py
index 20a49a9751a3a56f394f095ff824addb98a4e178..710663498d5373ef583b2942f93e7a891c241f1f 100644
--- a/cms/djangoapps/contentstore/api/tests/test_views.py
+++ b/cms/djangoapps/contentstore/api/tests/test_views.py
@@ -8,7 +8,7 @@ import tempfile
 from datetime import datetime
 from urllib import urlencode
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from path import Path as path
 from mock import patch
 from rest_framework import status
diff --git a/cms/djangoapps/contentstore/courseware_index.py b/cms/djangoapps/contentstore/courseware_index.py
index 29ad2487f5e09f5d59af360c197acc7d0cc43570..f5f67fc7cb260bec91190957826c4e29e6be79b7 100644
--- a/cms/djangoapps/contentstore/courseware_index.py
+++ b/cms/djangoapps/contentstore/courseware_index.py
@@ -7,7 +7,7 @@ from abc import ABCMeta, abstractmethod
 from datetime import timedelta
 
 from django.conf import settings
-from django.core.urlresolvers import resolve
+from django.urls import resolve
 from django.utils.translation import ugettext as _
 from django.utils.translation import ugettext_lazy
 from search.search_engine_base import SearchEngine
diff --git a/cms/djangoapps/contentstore/tests/test_course_create_rerun.py b/cms/djangoapps/contentstore/tests/test_course_create_rerun.py
index 9912416c9c2417fc33a323da3a34b562d5a03a97..a1019fa40ae5dfcdcb032f4e9f3e04211ca68c0b 100644
--- a/cms/djangoapps/contentstore/tests/test_course_create_rerun.py
+++ b/cms/djangoapps/contentstore/tests/test_course_create_rerun.py
@@ -4,7 +4,7 @@ Test view handler for rerun (and eventually create)
 from datetime import datetime
 
 import ddt
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import RequestFactory
 from mock import patch
 from opaque_keys.edx.keys import CourseKey
diff --git a/cms/djangoapps/contentstore/tests/test_request_event.py b/cms/djangoapps/contentstore/tests/test_request_event.py
index 529fe4abb27dee9c6e61037d4ee7663452b3cdbf..da0f0c7246fc9ba5676463bc6b6b8aee6073aa5e 100644
--- a/cms/djangoapps/contentstore/tests/test_request_event.py
+++ b/cms/djangoapps/contentstore/tests/test_request_event.py
@@ -1,6 +1,6 @@
 """Tests for CMS's requests to logs"""
 import mock
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 
 from contentstore.views.helpers import event as cms_user_track
diff --git a/cms/djangoapps/contentstore/tests/tests.py b/cms/djangoapps/contentstore/tests/tests.py
index b34d02fc21b5a8c187c8d6d56e9b283628fa1174..14fd564e1eef7d3eedf6837f98e650440815f946 100644
--- a/cms/djangoapps/contentstore/tests/tests.py
+++ b/cms/djangoapps/contentstore/tests/tests.py
@@ -11,7 +11,7 @@ from ddt import data, ddt, unpack
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.core.cache import cache
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from django.test.utils import override_settings
 from freezegun import freeze_time
diff --git a/cms/djangoapps/contentstore/utils.py b/cms/djangoapps/contentstore/utils.py
index 70451ff0b44ea6cb03587ee5a58a44cdafc4d40e..e9f886605fb991ac103eb5c4f1cd122468db2e95 100644
--- a/cms/djangoapps/contentstore/utils.py
+++ b/cms/djangoapps/contentstore/utils.py
@@ -6,7 +6,7 @@ import logging
 from datetime import datetime
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from opaque_keys.edx.keys import CourseKey, UsageKey
 from pytz import UTC
diff --git a/cms/djangoapps/contentstore/views/course.py b/cms/djangoapps/contentstore/views/course.py
index d88375b65a660a391caac73d7a836b1501bd0dc0..6e7833f992408492183b5055da9a093c2bf4c3f3 100644
--- a/cms/djangoapps/contentstore/views/course.py
+++ b/cms/djangoapps/contentstore/views/course.py
@@ -14,7 +14,7 @@ from ccx_keys.locator import CCXLocator
 from django.conf import settings
 from django.contrib.auth.decorators import login_required
 from django.core.exceptions import PermissionDenied, ValidationError
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import Http404, HttpResponse, HttpResponseBadRequest, HttpResponseNotFound
 from django.shortcuts import redirect
 from django.utils.translation import ugettext as _
diff --git a/cms/djangoapps/contentstore/views/preview.py b/cms/djangoapps/contentstore/views/preview.py
index a962ac450f34304e5b453b4068342ac45432c12f..0b2f0a297e906b32718496d714912a6653ac48ca 100644
--- a/cms/djangoapps/contentstore/views/preview.py
+++ b/cms/djangoapps/contentstore/views/preview.py
@@ -5,7 +5,7 @@ from functools import partial
 
 from django.conf import settings
 from django.contrib.auth.decorators import login_required
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import Http404, HttpResponseBadRequest
 from django.utils.translation import ugettext as _
 from opaque_keys.edx.keys import UsageKey
diff --git a/cms/djangoapps/contentstore/views/public.py b/cms/djangoapps/contentstore/views/public.py
index 0a7e568ac7c44d223e7e59dae26ba05c5e713a99..6306a11427e97d08b53798a261c2e8cad72be435 100644
--- a/cms/djangoapps/contentstore/views/public.py
+++ b/cms/djangoapps/contentstore/views/public.py
@@ -3,7 +3,7 @@ Public views
 """
 from django.conf import settings
 from django.template.context_processors import csrf
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.shortcuts import redirect
 from django.views.decorators.clickjacking import xframe_options_deny
 from django.views.decorators.csrf import ensure_csrf_cookie
diff --git a/cms/djangoapps/contentstore/views/tests/test_item.py b/cms/djangoapps/contentstore/views/tests/test_item.py
index ea7b8fcf7f579ae421ed7e39041bc32953042147..9b979c94fd2792dbb82c6c4cb160466b9a693cd7 100644
--- a/cms/djangoapps/contentstore/views/tests/test_item.py
+++ b/cms/djangoapps/contentstore/views/tests/test_item.py
@@ -4,7 +4,7 @@ from datetime import datetime, timedelta
 
 import ddt
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import Http404
 from django.test import TestCase
 from django.test.client import RequestFactory
diff --git a/cms/djangoapps/contentstore/views/tests/test_organizations.py b/cms/djangoapps/contentstore/views/tests/test_organizations.py
index d8137a47d921a024002fc79a5076c23c8e5d524f..4a16f9f155bc7a7c5b2b82656f131d9492778d32 100644
--- a/cms/djangoapps/contentstore/views/tests/test_organizations.py
+++ b/cms/djangoapps/contentstore/views/tests/test_organizations.py
@@ -1,7 +1,7 @@
 """Tests covering the Organizations listing on the Studio home."""
 import json
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from mock import patch
 
diff --git a/cms/djangoapps/contentstore/views/tests/test_transcript_settings.py b/cms/djangoapps/contentstore/views/tests/test_transcript_settings.py
index da838b18068430366ef740f3d7f7cce2dbc559cc..8d55c02bb9f3b148c293b0b922c2fabe2d56e8fa 100644
--- a/cms/djangoapps/contentstore/views/tests/test_transcript_settings.py
+++ b/cms/djangoapps/contentstore/views/tests/test_transcript_settings.py
@@ -5,7 +5,7 @@ from io import BytesIO
 from mock import Mock, patch, ANY
 
 from django.test.testcases import TestCase
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from edxval import api
 
 from contentstore.tests.utils import CourseTestCase
diff --git a/cms/djangoapps/contentstore/views/tests/test_transcripts.py b/cms/djangoapps/contentstore/views/tests/test_transcripts.py
index 0fae175fd91753c98806af67d2417501c76f9be5..c47da48437d90c64b565a9b04f0121437a908993 100644
--- a/cms/djangoapps/contentstore/views/tests/test_transcripts.py
+++ b/cms/djangoapps/contentstore/views/tests/test_transcripts.py
@@ -10,7 +10,7 @@ import textwrap
 from uuid import uuid4
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from edxval.api import create_video
 from opaque_keys.edx.keys import UsageKey
diff --git a/cms/djangoapps/contentstore/views/videos.py b/cms/djangoapps/contentstore/views/videos.py
index 4ed18809565c19f13a10c0483deb3e92f3507ef8..36df3f74cb9887480d97b2fc94a57409122d77be 100644
--- a/cms/djangoapps/contentstore/views/videos.py
+++ b/cms/djangoapps/contentstore/views/videos.py
@@ -15,7 +15,7 @@ from django.conf import settings
 from django.contrib.auth.decorators import login_required
 from django.contrib.staticfiles.storage import staticfiles_storage
 from django.core.files.images import get_image_dimensions
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import HttpResponse, HttpResponseNotFound
 from django.utils.translation import ugettext as _
 from django.utils.translation import ugettext_noop
diff --git a/cms/djangoapps/course_creators/tests/test_views.py b/cms/djangoapps/course_creators/tests/test_views.py
index fa951643cdd5a291905c79d96a77cdb9b0f33b40..6169f60ef33debb3700e32524d6e113f23c67219 100644
--- a/cms/djangoapps/course_creators/tests/test_views.py
+++ b/cms/djangoapps/course_creators/tests/test_views.py
@@ -5,7 +5,7 @@ Tests course_creators.views.py.
 import mock
 from django.contrib.auth.models import User
 from django.core.exceptions import PermissionDenied
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 
 from course_creators.views import (
diff --git a/cms/djangoapps/maintenance/tests.py b/cms/djangoapps/maintenance/tests.py
index ada62740500a5780e20046012a258fa7272dfb74..981f1b2c702172c35890568d0d2ec99ad3116dfc 100644
--- a/cms/djangoapps/maintenance/tests.py
+++ b/cms/djangoapps/maintenance/tests.py
@@ -5,7 +5,7 @@ import json
 
 import ddt
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from contentstore.management.commands.utils import get_course_versions
 from student.tests.factories import AdminFactory, UserFactory
diff --git a/cms/lib/xblock/runtime.py b/cms/lib/xblock/runtime.py
index 299f81b03674e8819c8c7bc20f4cc13e2820d883..53d2c08bb83c381a0ee8919a587f1742938a7054 100644
--- a/cms/lib/xblock/runtime.py
+++ b/cms/lib/xblock/runtime.py
@@ -2,7 +2,7 @@
 XBlock runtime implementations for edX Studio
 """
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 
 def handler_url(block, handler_name, suffix='', query='', thirdparty=False):
diff --git a/cms/templates/accessibility.html b/cms/templates/accessibility.html
index 80f4a421a796b5b9e59fd95927e776949e48fd04..07e30120ac8187d5afb14531b41120216a84913b 100644
--- a/cms/templates/accessibility.html
+++ b/cms/templates/accessibility.html
@@ -2,7 +2,7 @@
 <%inherit file="base.html" />
 <%def name="online_help_token()"><% return "accessibility" %></%def>
 <%!
-  from django.core.urlresolvers import reverse
+  from django.urls import reverse
   from django.utils.translation import ugettext as _
   from openedx.core.djangolib.markup import HTML, Text
   from openedx.core.djangolib.js_utils import js_escaped_string, dump_js_escaped_json
diff --git a/cms/templates/asset_index.html b/cms/templates/asset_index.html
index 5777b86bdaf6baf9f19d8e268ebb841d73bcf3da..b68e1fbd3b0a6ea37df5e3f03aa154ba4bd0b448 100644
--- a/cms/templates/asset_index.html
+++ b/cms/templates/asset_index.html
@@ -2,7 +2,7 @@
 <%inherit file="base.html" />
 <%def name="online_help_token()"><% return "files" %></%def>
 <%!
-  from django.core.urlresolvers import reverse
+  from django.urls import reverse
   from django.utils.translation import ugettext as _
   from openedx.core.djangolib.markup import HTML, Text
   from openedx.core.djangolib.js_utils import js_escaped_string, dump_js_escaped_json
diff --git a/cms/templates/course-create-rerun.html b/cms/templates/course-create-rerun.html
index 300153bde851eaf6f57022761fbe2205e0850485..c8114a56a9d82f0f77c4afd924c330fbde2a0e7b 100644
--- a/cms/templates/course-create-rerun.html
+++ b/cms/templates/course-create-rerun.html
@@ -3,7 +3,7 @@
 <%def name="online_help_token()"><% return "course_rerun" %></%def>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from openedx.core.djangolib.js_utils import js_escaped_string
 %>
 
diff --git a/cms/templates/edit-tabs.html b/cms/templates/edit-tabs.html
index 9541f07c35bc03a34774d69caf6ff5ae275508e4..c356155f6dfcf259cbaf8097af5092a0dae05ab5 100644
--- a/cms/templates/edit-tabs.html
+++ b/cms/templates/edit-tabs.html
@@ -4,7 +4,7 @@
 <%namespace name='static' file='static_content.html'/>
 <%!
   from django.utils.translation import ugettext as _
-  from django.core.urlresolvers import reverse
+  from django.urls import reverse
   from xmodule.tabs import StaticTab
   from openedx.core.djangolib.js_utils import js_escaped_string
 %>
diff --git a/cms/templates/error.html b/cms/templates/error.html
index 87df8232bddbb9a99ae2bb952718e17abd3777d1..25aed65f8840f45dfe85bfee720d118dc565add9 100644
--- a/cms/templates/error.html
+++ b/cms/templates/error.html
@@ -2,7 +2,7 @@
 <%inherit file="base.html" />
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.conf import settings
 %>
 <%block name="bodyclass">error</%block>
diff --git a/cms/templates/export_git.html b/cms/templates/export_git.html
index 584cb2270dc24bc90f0e66f7e419bfe6dd3bdf4a..65c8c3e08bc7a4d167cecef2e83d1e44dd87812f 100644
--- a/cms/templates/export_git.html
+++ b/cms/templates/export_git.html
@@ -3,7 +3,7 @@
 <%namespace name='static' file='static_content.html'/>
 
 <%!
-  from django.core.urlresolvers import reverse
+  from django.urls import reverse
   from django.utils.translation import ugettext as _
 %>
 <%block name="title">${_("Export Course to Git")}</%block>
diff --git a/cms/templates/howitworks.html b/cms/templates/howitworks.html
index f1b9ad88ac4374e654dd497126b64bfc843bb3eb..0e0349a755a9ce6b11856810fcd2230c8bce5182 100644
--- a/cms/templates/howitworks.html
+++ b/cms/templates/howitworks.html
@@ -3,7 +3,7 @@
 <%def name="online_help_token()"><% return "welcome" %></%def>
 <%namespace name='static' file='static_content.html'/>
 <%!
-  from django.core.urlresolvers import reverse
+  from django.urls import reverse
   from django.utils.translation import ugettext as _
   from openedx.core.djangolib.markup import HTML, Text
 %>
diff --git a/cms/templates/html_error.html b/cms/templates/html_error.html
index 6b80a6a1ff53070d85196a15ff1f5ab1f2dd2df6..5cf980d73d31575083494b232667066951f9136f 100644
--- a/cms/templates/html_error.html
+++ b/cms/templates/html_error.html
@@ -1,5 +1,5 @@
 <%! from django.utils.translation import ugettext as _ %>
-<%! from django.core.urlresolvers import reverse %>
+<%! from django.urls import reverse %>
 
 <%block name="content">
   <div class="wrapper wrapper-alert wrapper-alert-error is-shown">
diff --git a/cms/templates/login.html b/cms/templates/login.html
index c4966f8b669de94c8f09bf35a242f72a906c08a6..7b980cee2fefbd888cc95ae5943e5a566698df74 100644
--- a/cms/templates/login.html
+++ b/cms/templates/login.html
@@ -3,7 +3,7 @@
 <%inherit file="base.html" />
 <%def name="online_help_token()"><% return "login" %></%def>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from openedx.core.djangolib.js_utils import js_escaped_string
 %>
diff --git a/cms/templates/maintenance/base.html b/cms/templates/maintenance/base.html
index d0691063c2d810f20f5eb3bd6ce9ddbd81f96e02..867e6e8c17d7341834beb508b05da097a90b36aa 100644
--- a/cms/templates/maintenance/base.html
+++ b/cms/templates/maintenance/base.html
@@ -3,7 +3,7 @@
 <%def name='online_help_token()'><% return 'maintenance' %></%def>
 <%namespace name='static' file='../static_content.html'/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 %>
 <%block name="content">
diff --git a/cms/templates/maintenance/container.html b/cms/templates/maintenance/container.html
index c72f6b00e4774fcf672f9dfcd36c2193ac6fc0eb..417471a1bd6675b99c6e6aaa11339698f2936a4a 100644
--- a/cms/templates/maintenance/container.html
+++ b/cms/templates/maintenance/container.html
@@ -2,7 +2,7 @@
 <%inherit file="base.html" />
 <%namespace name='static' file='../static_content.html'/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from openedx.core.djangolib.js_utils import js_escaped_string
 %>
 <%block name="title">${view['name']}</%block>
diff --git a/cms/templates/maintenance/index.html b/cms/templates/maintenance/index.html
index f1f3224fe175ada44a3c182595c33bd1cc2af33f..41c84223d2fc8a0f6d8e4f492010ddc4651408f6 100644
--- a/cms/templates/maintenance/index.html
+++ b/cms/templates/maintenance/index.html
@@ -3,7 +3,7 @@
 <%namespace name='static' file='../static_content.html'/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 <%block name="title">${_('Maintenance Dashboard')}</%block>
 <%block name="viewcontent">
diff --git a/cms/templates/manage_users.html b/cms/templates/manage_users.html
index 858e66f33e6db077b99b7a07525887f49e62b127..50b7a9e3df4f002ee9697330d8e8d427d888b4ee 100644
--- a/cms/templates/manage_users.html
+++ b/cms/templates/manage_users.html
@@ -1,7 +1,7 @@
 <%inherit file="base.html" />
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from openedx.core.djangolib.js_utils import (
     dump_js_escaped_json, js_escaped_string
diff --git a/cms/templates/manage_users_lib.html b/cms/templates/manage_users_lib.html
index db5fb303dcf81cf014de123bc50c8f362163853d..4d9e4e1aa2c1de0053ffa4bb6926f6b5ea2282fd 100644
--- a/cms/templates/manage_users_lib.html
+++ b/cms/templates/manage_users_lib.html
@@ -1,7 +1,7 @@
 <%inherit file="base.html" />
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from openedx.core.djangolib.js_utils import (
     dump_js_escaped_json, js_escaped_string
diff --git a/cms/templates/register.html b/cms/templates/register.html
index 86f639056e865a37012a4d18f514fc9c757a9923..3af9949bb61bfb3aae96c75c979dfdb78a296d22 100644
--- a/cms/templates/register.html
+++ b/cms/templates/register.html
@@ -2,7 +2,7 @@
 <%def name="online_help_token()"><% return "register" %></%def>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 
 <%block name="title">${_("Sign Up")}</%block>
diff --git a/cms/templates/registration/activation_complete.html b/cms/templates/registration/activation_complete.html
index f3bc1d68c86c143e0c4b638a87c1f1ced702ae23..86592dded3b6dfbf5ae52692d0ec1d41af1a68ce 100644
--- a/cms/templates/registration/activation_complete.html
+++ b/cms/templates/registration/activation_complete.html
@@ -1,7 +1,7 @@
 <%inherit file="../base.html" />
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 
 <%namespace name='static' file='../static_content.html'/>
diff --git a/cms/templates/registration/activation_invalid.html b/cms/templates/registration/activation_invalid.html
index 5160b46449ebef88b5d11f181892051465261765..27bd75334328497fabb75174447534d068ac237b 100644
--- a/cms/templates/registration/activation_invalid.html
+++ b/cms/templates/registration/activation_invalid.html
@@ -3,7 +3,7 @@
 <%namespace name='static' file='../static_content.html'/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from openedx.core.djangolib.markup import HTML, Text
 %>
 
diff --git a/cms/templates/widgets/footer.html b/cms/templates/widgets/footer.html
index a48fbdd9a38ffe58b05b81bebeecdf10de73e6ec..53a96538f2f4fb5e8c59a319acd34fe50b32aa0a 100644
--- a/cms/templates/widgets/footer.html
+++ b/cms/templates/widgets/footer.html
@@ -1,6 +1,6 @@
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from datetime import datetime
 from django.conf import settings
 import pytz
diff --git a/cms/templates/widgets/header.html b/cms/templates/widgets/header.html
index 512078e088da04cea10a41082f5dfb93852b0ec1..8fcf07ceb5ac1ec245eafc7fb1383df68cd68391 100644
--- a/cms/templates/widgets/header.html
+++ b/cms/templates/widgets/header.html
@@ -2,7 +2,7 @@
 <%namespace name='static' file='../static_content.html'/>
 <%!
   from django.conf import settings
-  from django.core.urlresolvers import reverse
+  from django.urls import reverse
   from django.utils.translation import ugettext as _
   from openedx.core.djangoapps.lang_pref.api import header_language_selector_is_enabled, released_languages
 %>
diff --git a/cms/templates/widgets/user_dropdown.html b/cms/templates/widgets/user_dropdown.html
index 773c43d5e04f09cd64b56446685e9e3ab5018c4d..d39d1ac4e2eb28c3842e99008003495119230a2b 100644
--- a/cms/templates/widgets/user_dropdown.html
+++ b/cms/templates/widgets/user_dropdown.html
@@ -2,7 +2,7 @@
 <%namespace name='static' file='../static_content.html'/>
 <%!
   from django.conf import settings
-  from django.core.urlresolvers import reverse
+  from django.urls import reverse
   from django.utils.translation import ugettext as _
   from student.roles import GlobalStaff
 %>
@@ -57,4 +57,4 @@
       </ul>
     </div>
   </div>
-% endif
\ No newline at end of file
+% endif
diff --git a/common/djangoapps/course_modes/tests/test_admin.py b/common/djangoapps/course_modes/tests/test_admin.py
index 7bd230e7cb04fcde9f4da73d939da603d356292c..0827c5b2582f821a256874df08473f2325f47828 100644
--- a/common/djangoapps/course_modes/tests/test_admin.py
+++ b/common/djangoapps/course_modes/tests/test_admin.py
@@ -6,7 +6,7 @@ from datetime import datetime, timedelta
 
 import ddt
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from pytz import UTC, timezone
 
 from course_modes.admin import CourseModeForm
diff --git a/common/djangoapps/course_modes/tests/test_views.py b/common/djangoapps/course_modes/tests/test_views.py
index 4a576c3776e3373d97f813fffa88c3d93d0c3083..b2a9979f55be7ce45ea2f1ff4d2d3f011bf21eab 100644
--- a/common/djangoapps/course_modes/tests/test_views.py
+++ b/common/djangoapps/course_modes/tests/test_views.py
@@ -11,7 +11,7 @@ import freezegun
 import httpretty
 import pytz
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from mock import patch
 from nose.plugins.attrib import attr
 
diff --git a/common/djangoapps/course_modes/views.py b/common/djangoapps/course_modes/views.py
index 00a50ed8b49966864d0d3f7e6d9ddb1b83753eb0..0943493a521bb48f222b854b15b57b6dd2da5459 100644
--- a/common/djangoapps/course_modes/views.py
+++ b/common/djangoapps/course_modes/views.py
@@ -9,7 +9,7 @@ import urllib
 import waffle
 from babel.dates import format_datetime
 from django.contrib.auth.decorators import login_required
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import transaction
 from django.http import HttpResponse, HttpResponseBadRequest
 from django.shortcuts import redirect
diff --git a/common/djangoapps/edxmako/shortcuts.py b/common/djangoapps/edxmako/shortcuts.py
index f8045347e3820c91bb6ef1118855b6669623d698..d187cd354081d8c42c35e59afa09f009c1f8f85a 100644
--- a/common/djangoapps/edxmako/shortcuts.py
+++ b/common/djangoapps/edxmako/shortcuts.py
@@ -16,7 +16,7 @@ import logging
 from urlparse import urljoin
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import HttpResponse
 from django.template import engines
 
diff --git a/common/djangoapps/edxmako/tests.py b/common/djangoapps/edxmako/tests.py
index 6406b0f563b44faba085cb2095e96c243ae5c604..23e30657051abbea899bc13aad20c00d3d5919ab 100644
--- a/common/djangoapps/edxmako/tests.py
+++ b/common/djangoapps/edxmako/tests.py
@@ -2,7 +2,7 @@ import unittest
 
 import ddt
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import HttpResponse
 from django.test import TestCase
 from django.test.client import RequestFactory
diff --git a/common/djangoapps/enrollment/tests/test_views.py b/common/djangoapps/enrollment/tests/test_views.py
index e1c91c047369720a5ea121dceb94dda644eec96e..ef50c57b1d0d580f6a47e5ecf3b7b3fed4dfea02 100644
--- a/common/djangoapps/enrollment/tests/test_views.py
+++ b/common/djangoapps/enrollment/tests/test_views.py
@@ -13,7 +13,7 @@ from django.conf import settings
 from django.core.cache import cache
 from django.core.exceptions import ImproperlyConfigured
 from django.core.handlers.wsgi import WSGIRequest
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import Client
 from django.test.utils import override_settings
 from mock import patch
diff --git a/common/djangoapps/entitlements/api/v1/tests/test_views.py b/common/djangoapps/entitlements/api/v1/tests/test_views.py
index 4423f9333400b72ec4c60ef0da2fd89df39ef9f6..0135aa7264480c374045eb290d68dbe23ceeb009 100644
--- a/common/djangoapps/entitlements/api/v1/tests/test_views.py
+++ b/common/djangoapps/entitlements/api/v1/tests/test_views.py
@@ -8,7 +8,7 @@ from courseware.models import (
     DynamicUpgradeDeadlineConfiguration
 )
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.timezone import now
 from mock import patch
 from opaque_keys.edx.locator import CourseKey
diff --git a/common/djangoapps/microsite_configuration/tests/backends/test_filebased.py b/common/djangoapps/microsite_configuration/tests/backends/test_filebased.py
index c1d978fd2548e3893143ee80c1c6e735acf32b3d..a7d169a1891da8e159f06dbf89e133489b6ca4e3 100644
--- a/common/djangoapps/microsite_configuration/tests/backends/test_filebased.py
+++ b/common/djangoapps/microsite_configuration/tests/backends/test_filebased.py
@@ -6,7 +6,7 @@ from mock import patch
 
 from django.test import TestCase
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from microsite_configuration.backends.base import (
     BaseMicrositeBackend,
diff --git a/common/djangoapps/student/cookies.py b/common/djangoapps/student/cookies.py
index a2103877e108d391192794b927db0522df241c6c..c064a3daf04c6193315865b9a5476db650aff9d6 100644
--- a/common/djangoapps/student/cookies.py
+++ b/common/djangoapps/student/cookies.py
@@ -9,7 +9,7 @@ import time
 import six
 from django.conf import settings
 from django.contrib.auth.models import User
-from django.core.urlresolvers import NoReverseMatch, reverse
+from django.urls import NoReverseMatch, reverse
 from django.dispatch import Signal
 from django.utils.http import cookie_date
 
diff --git a/common/djangoapps/student/forms.py b/common/djangoapps/student/forms.py
index a5c9054dcc43f038b7e0acb7094c6c0795e4b012..82a43053834390e481f724318f59d0c1d2c759f5 100644
--- a/common/djangoapps/student/forms.py
+++ b/common/djangoapps/student/forms.py
@@ -12,7 +12,7 @@ from django.contrib.auth.models import User
 from django.contrib.auth.tokens import default_token_generator
 from django.contrib.sites.models import Site
 from django.core.exceptions import ValidationError
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.core.validators import RegexValidator, slug_re
 from django.forms import widgets
 from django.utils.http import int_to_base36
diff --git a/common/djangoapps/student/helpers.py b/common/djangoapps/student/helpers.py
index 32f98e6dd2ea0bbce43be63f93acd4a3272aed1f..b31651acad59c09f944364eba9c9e0ce7ba65a04 100644
--- a/common/djangoapps/student/helpers.py
+++ b/common/djangoapps/student/helpers.py
@@ -11,7 +11,7 @@ from datetime import datetime
 import django
 from django.conf import settings
 from django.core.exceptions import PermissionDenied
-from django.core.urlresolvers import NoReverseMatch, reverse
+from django.urls import NoReverseMatch, reverse
 from django.core.validators import ValidationError
 from django.contrib.auth import load_backend
 from django.contrib.auth.models import User
diff --git a/common/djangoapps/student/tests/test_activate_account.py b/common/djangoapps/student/tests/test_activate_account.py
index e32f6c78b4e3b5bbe6455ae081b3f2c0b22eab5c..099516b53a4fb65ba1686015395c8f65aac9d1c7 100644
--- a/common/djangoapps/student/tests/test_activate_account.py
+++ b/common/djangoapps/student/tests/test_activate_account.py
@@ -3,7 +3,7 @@ import unittest
 from uuid import uuid4
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase, override_settings
 from mock import patch
 
diff --git a/common/djangoapps/student/tests/test_admin_views.py b/common/djangoapps/student/tests/test_admin_views.py
index 0ee14a5691c0604d7ebfa66d78a9c96a815fdcf1..bd52275dcd91498627e9946cf3ba3075ec939bc0 100644
--- a/common/djangoapps/student/tests/test_admin_views.py
+++ b/common/djangoapps/student/tests/test_admin_views.py
@@ -3,7 +3,7 @@ Tests student admin.py
 """
 from django.contrib.admin.sites import AdminSite
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from mock import Mock
 
diff --git a/common/djangoapps/student/tests/test_bulk_email_settings.py b/common/djangoapps/student/tests/test_bulk_email_settings.py
index 3f7fad07d57edf41b3de3a41e4b6a5cb878bf8a8..43d9c6268f1acff53c900380c2d7853b609ab174 100644
--- a/common/djangoapps/student/tests/test_bulk_email_settings.py
+++ b/common/djangoapps/student/tests/test_bulk_email_settings.py
@@ -7,7 +7,7 @@ Course Auth is turned on.
 import unittest
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 # This import is for an lms djangoapp.
 # Its testcases are only run under lms.
diff --git a/common/djangoapps/student/tests/test_certificates.py b/common/djangoapps/student/tests/test_certificates.py
index 64485634dc698f703972cdee414bf00f3bc2b735..d6a1260244a999c8e470d74e6341e31a78a68755 100644
--- a/common/djangoapps/student/tests/test_certificates.py
+++ b/common/djangoapps/student/tests/test_certificates.py
@@ -6,7 +6,7 @@ import datetime
 import ddt
 import mock
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from mock import patch
 from pytz import UTC
diff --git a/common/djangoapps/student/tests/test_configuration_overrides.py b/common/djangoapps/student/tests/test_configuration_overrides.py
index 01fefe3a09c524dc04a7d68c9539cf9ef8a7725a..6ce67ec1c76f27de24e7d6518b0c8484417837b5 100644
--- a/common/djangoapps/student/tests/test_configuration_overrides.py
+++ b/common/djangoapps/student/tests/test_configuration_overrides.py
@@ -5,7 +5,7 @@ import json
 
 import mock
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 
 from student.models import UserSignupSource
diff --git a/common/djangoapps/student/tests/test_cookies.py b/common/djangoapps/student/tests/test_cookies.py
index 20577a91a12c1c5285a361ba4a94fb668ec553c3..0479fa5fbe57d5cf1d12fb6b693e2e2e6058dc43 100644
--- a/common/djangoapps/student/tests/test_cookies.py
+++ b/common/djangoapps/student/tests/test_cookies.py
@@ -3,7 +3,7 @@ from __future__ import unicode_literals
 
 import six
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import RequestFactory
 
 from openedx.core.djangoapps.user_api.accounts.utils import retrieve_last_sitewide_block_completed
diff --git a/common/djangoapps/student/tests/test_create_account.py b/common/djangoapps/student/tests/test_create_account.py
index 8a531f2bcfe7e61493c639b9848ff88826d01580..a1c235ecba740050455e039e3b9860a8c5fb3226 100644
--- a/common/djangoapps/student/tests/test_create_account.py
+++ b/common/djangoapps/student/tests/test_create_account.py
@@ -10,7 +10,7 @@ import mock
 import pytz
 from django.conf import settings
 from django.contrib.auth.models import AnonymousUser, User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase, TransactionTestCase
 from django.test.client import RequestFactory
 from django.test.utils import override_settings
diff --git a/common/djangoapps/student/tests/test_credit.py b/common/djangoapps/student/tests/test_credit.py
index 68a45ffa69860815391d0ce796eb9f815640564d..ad47f09dfa0e957995594cb103397f5448e2c6ea 100644
--- a/common/djangoapps/student/tests/test_credit.py
+++ b/common/djangoapps/student/tests/test_credit.py
@@ -7,7 +7,7 @@ import unittest
 import ddt
 import pytz
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from mock import patch
 
diff --git a/common/djangoapps/student/tests/test_email.py b/common/djangoapps/student/tests/test_email.py
index fdff0ea4af007757cb530679e68c449b4564dbfa..38824a1f47ea21cbcbf5e91f691853f804d8c5da 100644
--- a/common/djangoapps/student/tests/test_email.py
+++ b/common/djangoapps/student/tests/test_email.py
@@ -5,7 +5,7 @@ import unittest
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.core import mail
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import transaction
 from django.http import HttpResponse
 from django.test import override_settings, TransactionTestCase
diff --git a/common/djangoapps/student/tests/test_enrollment.py b/common/djangoapps/student/tests/test_enrollment.py
index ed69ffec1044f38e67693f3e1dbd3a2f7ac7ac5e..da8f26be6d77aa591e1dfc442d2acdfc17067932 100644
--- a/common/djangoapps/student/tests/test_enrollment.py
+++ b/common/djangoapps/student/tests/test_enrollment.py
@@ -5,7 +5,7 @@ import unittest
 
 import ddt
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from mock import patch
 from nose.plugins.attrib import attr
 
diff --git a/common/djangoapps/student/tests/test_helpers.py b/common/djangoapps/student/tests/test_helpers.py
index c366a3262ebd220e92327bf6748013ace6e4b14d..a8aec32f0ffaded3e80935e24d7fbed441bec249 100644
--- a/common/djangoapps/student/tests/test_helpers.py
+++ b/common/djangoapps/student/tests/test_helpers.py
@@ -5,7 +5,7 @@ import logging
 import ddt
 from django.conf import settings
 from django.contrib.sessions.middleware import SessionMiddleware
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from django.test.client import RequestFactory
 from django.test.utils import override_settings
diff --git a/common/djangoapps/student/tests/test_login.py b/common/djangoapps/student/tests/test_login.py
index 9da1e8cbd9015349a170b42bdee565aed6d5b040..089cbb15af27db67dd870ebfdb2e62de2e9d2921 100644
--- a/common/djangoapps/student/tests/test_login.py
+++ b/common/djangoapps/student/tests/test_login.py
@@ -8,7 +8,7 @@ import httpretty
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.core.cache import cache
-from django.core.urlresolvers import NoReverseMatch, reverse
+from django.urls import NoReverseMatch, reverse
 from django.http import HttpResponse, HttpResponseBadRequest
 from django.test import TestCase
 from django.test.client import Client
diff --git a/common/djangoapps/student/tests/test_login_registration_forms.py b/common/djangoapps/student/tests/test_login_registration_forms.py
index 3ddd0ed402b954f063ed29121c2d893cfd90c324..842525af1b8c14b0e8747b13c020e86650caabad 100644
--- a/common/djangoapps/student/tests/test_login_registration_forms.py
+++ b/common/djangoapps/student/tests/test_login_registration_forms.py
@@ -4,7 +4,7 @@ import urllib
 
 import ddt
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from mock import patch
 
 from third_party_auth.tests.testutil import ThirdPartyAuthTestMixin
diff --git a/common/djangoapps/student/tests/test_long_username_email.py b/common/djangoapps/student/tests/test_long_username_email.py
index 73ffd882dc4103e0615f33880ad45da92f7cdb78..094a5fe1cf426b2bd85c50ff2b1838aa51c1ae90 100644
--- a/common/djangoapps/student/tests/test_long_username_email.py
+++ b/common/djangoapps/student/tests/test_long_username_email.py
@@ -2,7 +2,7 @@
 
 import json
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 
 from openedx.core.djangoapps.user_api.accounts import USERNAME_BAD_LENGTH_MSG
diff --git a/common/djangoapps/student/tests/test_password_policy.py b/common/djangoapps/student/tests/test_password_policy.py
index a6691d740db2d6788ad81a3f76d716b2dc6e58e7..00e67648cb782d9e16b777f2e4fb8ff541d73eb2 100644
--- a/common/djangoapps/student/tests/test_password_policy.py
+++ b/common/djangoapps/student/tests/test_password_policy.py
@@ -7,7 +7,7 @@ from importlib import import_module
 
 from django.conf import settings
 from django.contrib.auth.models import AnonymousUser
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from django.test.client import RequestFactory
 from django.test.utils import override_settings
diff --git a/common/djangoapps/student/tests/test_recent_enrollments.py b/common/djangoapps/student/tests/test_recent_enrollments.py
index 8050992cbd694f9effd4d46f0b83d36af02b328c..52e85d1924fcf9b8d39a394ca6e5d107ee19aebe 100644
--- a/common/djangoapps/student/tests/test_recent_enrollments.py
+++ b/common/djangoapps/student/tests/test_recent_enrollments.py
@@ -6,7 +6,7 @@ import unittest
 
 import ddt
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.timezone import now
 from nose.plugins.attrib import attr
 from opaque_keys.edx import locator
diff --git a/common/djangoapps/student/tests/test_refunds.py b/common/djangoapps/student/tests/test_refunds.py
index ee10756a0b3224c924266fcc96fb4e1944ee63d3..033c6397e3e98810fcc66740fadda3c753b58111 100644
--- a/common/djangoapps/student/tests/test_refunds.py
+++ b/common/djangoapps/student/tests/test_refunds.py
@@ -11,7 +11,7 @@ import pytz
 # Explicitly import the cache from ConfigurationModel so we can reset it after each test
 from config_models.models import cache
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import Client
 from django.test.utils import override_settings
 from mock import patch
diff --git a/common/djangoapps/student/tests/test_reset_password.py b/common/djangoapps/student/tests/test_reset_password.py
index 1c80cd6a78a49bfd5c27858855f6b823d2e399df..77ad5c007585d6db748a68dda8d64f5df013092e 100644
--- a/common/djangoapps/student/tests/test_reset_password.py
+++ b/common/djangoapps/student/tests/test_reset_password.py
@@ -12,7 +12,7 @@ from django.contrib.auth.models import User
 from django.contrib.auth.tokens import default_token_generator
 from django.core.cache import cache
 from django.core import mail
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import RequestFactory
 from django.test.utils import override_settings
 from django.utils.http import int_to_base36
diff --git a/common/djangoapps/student/tests/test_retirement.py b/common/djangoapps/student/tests/test_retirement.py
index 3f5e28e597a9451852ad0721856a5d13f91930f3..73e9a52f943326cefb0df302bc8cb5f16ed26fae 100644
--- a/common/djangoapps/student/tests/test_retirement.py
+++ b/common/djangoapps/student/tests/test_retirement.py
@@ -7,7 +7,7 @@ import ddt
 from django.apps import apps
 from django.conf import settings
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 import pytest
 
diff --git a/common/djangoapps/student/tests/test_userstanding.py b/common/djangoapps/student/tests/test_userstanding.py
index 011019dfc0bdd2cac3636635b1eac02a5b724f32..03a4328d067120c27be696d05c1f1ccfe7323974 100644
--- a/common/djangoapps/student/tests/test_userstanding.py
+++ b/common/djangoapps/student/tests/test_userstanding.py
@@ -5,7 +5,7 @@ that students with disabled accounts are unable to access the courseware.
 import unittest
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import Client, TestCase
 
 from student.models import UserStanding
diff --git a/common/djangoapps/student/tests/test_verification_status.py b/common/djangoapps/student/tests/test_verification_status.py
index f320be7aa23dd53452c5ea888a09ad2ab15715c6..57da86a9710ccb42fb8800af9c975909e8986ddc 100644
--- a/common/djangoapps/student/tests/test_verification_status.py
+++ b/common/djangoapps/student/tests/test_verification_status.py
@@ -4,7 +4,7 @@ from datetime import datetime, timedelta
 
 import ddt
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import override_settings
 from mock import patch
 from nose.plugins.attrib import attr
diff --git a/common/djangoapps/student/tests/test_views.py b/common/djangoapps/student/tests/test_views.py
index 6a47a230d9bab2a45af2628f5fb03e8ee9f46ced..7f1c1d400a6b67ca7a17f692c9dcd4a22874480d 100644
--- a/common/djangoapps/student/tests/test_views.py
+++ b/common/djangoapps/student/tests/test_views.py
@@ -10,7 +10,7 @@ from datetime import timedelta
 import ddt
 from completion.test_utils import submit_completions_for_testing, CompletionWaffleTestMixin
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import RequestFactory, TestCase
 from django.test.utils import override_settings
 from django.utils.timezone import now
diff --git a/common/djangoapps/student/tests/tests.py b/common/djangoapps/student/tests/tests.py
index 0a8c3e27dbc87d2c71833588c0eca262b73e8b54..3255ec723e8e7f4ce470d917d8f6dd6d1f2e091d 100644
--- a/common/djangoapps/student/tests/tests.py
+++ b/common/djangoapps/student/tests/tests.py
@@ -12,7 +12,7 @@ import pytz
 from config_models.models import cache
 from django.conf import settings
 from django.contrib.auth.models import AnonymousUser, User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase, override_settings
 from django.test.client import Client
 from markupsafe import escape
diff --git a/common/djangoapps/student/views/dashboard.py b/common/djangoapps/student/views/dashboard.py
index cc7d42ef0b8e3b4c39eed1af4dbde05a1a362214..27e89f6a7ae18360b144545eef649d84d268c900 100644
--- a/common/djangoapps/student/views/dashboard.py
+++ b/common/djangoapps/student/views/dashboard.py
@@ -11,7 +11,7 @@ from completion.utilities import get_key_to_last_completed_course_block
 from django.conf import settings
 from django.contrib import messages
 from django.contrib.auth.decorators import login_required
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.shortcuts import redirect
 from django.utils.translation import ugettext as _
 from django.views.decorators.csrf import ensure_csrf_cookie
diff --git a/common/djangoapps/student/views/login.py b/common/djangoapps/student/views/login.py
index 960a6a0440a7bd3ffbadad2ebb20882849792481..30a50be2110e1a669de7d8a91a185a52476a81c2 100644
--- a/common/djangoapps/student/views/login.py
+++ b/common/djangoapps/student/views/login.py
@@ -18,7 +18,7 @@ from django.contrib.auth import authenticate, load_backend, login as django_logi
 from django.contrib.auth.decorators import login_required
 from django.contrib.auth.models import AnonymousUser, User
 from django.core.exceptions import ObjectDoesNotExist, PermissionDenied
-from django.core.urlresolvers import NoReverseMatch, reverse, reverse_lazy
+from django.urls import NoReverseMatch, reverse, reverse_lazy
 from django.core.validators import ValidationError, validate_email
 from django.http import Http404, HttpResponse, HttpResponseBadRequest, HttpResponseForbidden
 from django.shortcuts import redirect
diff --git a/common/djangoapps/student/views/management.py b/common/djangoapps/student/views/management.py
index 98199bab1a5695e1b202ca039ffd5c4b09fb60cb..3e3f03995e7103ca6a8bdea49869f0d0d02c6288 100644
--- a/common/djangoapps/student/views/management.py
+++ b/common/djangoapps/student/views/management.py
@@ -20,7 +20,7 @@ from django.contrib.auth.decorators import login_required
 from django.contrib.auth.models import AnonymousUser, User
 from django.contrib.auth.views import password_reset_confirm
 from django.core import mail
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.core.validators import ValidationError, validate_email
 from django.db import transaction
 from django.db.models.signals import post_save
diff --git a/common/djangoapps/third_party_auth/admin.py b/common/djangoapps/third_party_auth/admin.py
index f6ebab7a47317a5bdd1423616d765ec9c2a57d19..703196e19e2e5ded6b6323687b7be4d3d303b935 100644
--- a/common/djangoapps/third_party_auth/admin.py
+++ b/common/djangoapps/third_party_auth/admin.py
@@ -5,7 +5,7 @@ Admin site configuration for third party authentication
 from config_models.admin import KeyedConfigurationModelAdmin
 from django import forms
 from django.contrib import admin
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import DatabaseError, transaction
 from django.utils.translation import ugettext_lazy as _
 
diff --git a/common/djangoapps/third_party_auth/api/tests/test_views.py b/common/djangoapps/third_party_auth/api/tests/test_views.py
index fa58a97f4f13ed806654d5dbc26f309a70abe2c6..6dd5367eaaf5d76c451fe5fa30b4cd68aea09e13 100644
--- a/common/djangoapps/third_party_auth/api/tests/test_views.py
+++ b/common/djangoapps/third_party_auth/api/tests/test_views.py
@@ -5,7 +5,7 @@ Tests for the Third Party Auth REST API
 import unittest
 
 import ddt
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import QueryDict
 from mock import patch
 from provider.constants import CONFIDENTIAL
diff --git a/common/djangoapps/third_party_auth/decorators.py b/common/djangoapps/third_party_auth/decorators.py
index 5f0f3e6b40e4c9e777939f757d73a24890b0b05f..c897004a957c54bad28b6ddf8e0129b6d8e955e3 100644
--- a/common/djangoapps/third_party_auth/decorators.py
+++ b/common/djangoapps/third_party_auth/decorators.py
@@ -4,7 +4,6 @@ Decorators that can be used to interact with third_party_auth.
 from functools import wraps
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
 from django.shortcuts import redirect
 from django.utils.decorators import available_attrs
 
diff --git a/common/djangoapps/third_party_auth/pipeline.py b/common/djangoapps/third_party_auth/pipeline.py
index da5875cf6d71df738f77f08951231bbec18acfc9..444db04c186ac653ace97b00d5b61929f392170f 100644
--- a/common/djangoapps/third_party_auth/pipeline.py
+++ b/common/djangoapps/third_party_auth/pipeline.py
@@ -70,7 +70,7 @@ import analytics
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.core.mail.message import EmailMessage
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import HttpResponseBadRequest
 from django.shortcuts import redirect
 import social_django
diff --git a/common/djangoapps/third_party_auth/tests/specs/base.py b/common/djangoapps/third_party_auth/tests/specs/base.py
index ee22535ae3a65933428849838f24de63608dc1cb..2842c56fa042b8e0e6cf9eb67272d49c1382c663 100644
--- a/common/djangoapps/third_party_auth/tests/specs/base.py
+++ b/common/djangoapps/third_party_auth/tests/specs/base.py
@@ -14,7 +14,7 @@ from django.contrib import auth
 from django.contrib.auth import models as auth_models
 from django.contrib.messages.storage import fallback
 from django.contrib.sessions.backends import cache
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import utils as django_utils
 from django.conf import settings as django_settings
 from social_core import actions, exceptions
diff --git a/common/djangoapps/third_party_auth/tests/specs/test_google.py b/common/djangoapps/third_party_auth/tests/specs/test_google.py
index cd9666a05b6bec1f78ea040479d06966947fe985..cb66121dc03537475b79ab3838fcab7e93ff80c2 100644
--- a/common/djangoapps/third_party_auth/tests/specs/test_google.py
+++ b/common/djangoapps/third_party_auth/tests/specs/test_google.py
@@ -3,7 +3,7 @@ import base64
 import hashlib
 import hmac
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 import json
 from mock import patch
 from openedx.tests.util import expected_redirect_url
diff --git a/common/djangoapps/third_party_auth/tests/specs/test_lti.py b/common/djangoapps/third_party_auth/tests/specs/test_lti.py
index e09428bc307759fe01e031b22e8129d973cf34bc..08390afefb78de37c82f05b995e98b1193736ad2 100644
--- a/common/djangoapps/third_party_auth/tests/specs/test_lti.py
+++ b/common/djangoapps/third_party_auth/tests/specs/test_lti.py
@@ -5,7 +5,7 @@ import unittest
 import django
 from django.conf import settings
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from oauthlib.oauth1.rfc5849 import Client, SIGNATURE_TYPE_BODY
 from openedx.tests.util import expected_redirect_url
 from third_party_auth.tests import testutil
diff --git a/common/djangoapps/third_party_auth/tests/test_admin.py b/common/djangoapps/third_party_auth/tests/test_admin.py
index c16bbe8ed8066deae335439a6c7e71cccb23f6eb..32fe1377c807fd17193c02206860354eaf8e847c 100644
--- a/common/djangoapps/third_party_auth/tests/test_admin.py
+++ b/common/djangoapps/third_party_auth/tests/test_admin.py
@@ -5,7 +5,7 @@ import unittest
 
 from django.contrib.admin.sites import AdminSite
 from django.core.files.uploadedfile import SimpleUploadedFile
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.forms import models
 
 from student.tests.factories import UserFactory
diff --git a/common/djangoapps/third_party_auth/views.py b/common/djangoapps/third_party_auth/views.py
index 2324d1539cc443f7616af2039d60ac656d15c67a..4360bef5ada32f711929741e95bedb7df147cc3c 100644
--- a/common/djangoapps/third_party_auth/views.py
+++ b/common/djangoapps/third_party_auth/views.py
@@ -2,7 +2,7 @@
 Extra views required for SSO
 """
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import Http404, HttpResponse, HttpResponseNotAllowed, HttpResponseServerError
 from django.shortcuts import redirect, render
 from django.views.decorators.csrf import csrf_exempt
diff --git a/common/djangoapps/track/tests/test_logs.py b/common/djangoapps/track/tests/test_logs.py
index 3b66a4532991e89247dbf97922fc15857d5bdabb..b6d6acd7305548b0a1db58b712bc1b778ae3e2d4 100644
--- a/common/djangoapps/track/tests/test_logs.py
+++ b/common/djangoapps/track/tests/test_logs.py
@@ -3,7 +3,7 @@ import unittest
 
 import mock
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 
 from track.models import TrackingLog
diff --git a/common/djangoapps/util/testing.py b/common/djangoapps/util/testing.py
index e179497e50a95169525fbc50d3ebed4eca4ab592..8113e499a339eb25293e403869538d7578f23be1 100644
--- a/common/djangoapps/util/testing.py
+++ b/common/djangoapps/util/testing.py
@@ -6,7 +6,7 @@ import json
 import sys
 
 from django.conf import settings
-from django.core.urlresolvers import clear_url_caches, resolve
+from django.urls import clear_url_caches, resolve
 from django.test import TestCase
 from mock import patch
 
diff --git a/common/djangoapps/util/url.py b/common/djangoapps/util/url.py
index 38d6f35012817f055b7703210ce84f40a06f8c3d..e8ece69c6688c903d2e21a96b325f6cfbd65bebd 100644
--- a/common/djangoapps/util/url.py
+++ b/common/djangoapps/util/url.py
@@ -6,7 +6,7 @@ import sys
 from importlib import import_module
 
 from django.conf import settings
-from django.core.urlresolvers import set_urlconf
+from django.urls import set_urlconf
 
 
 def reload_django_url_config():
diff --git a/common/test/test-theme/cms/templates/login.html b/common/test/test-theme/cms/templates/login.html
index 4e13b5cdc9e55b3adf49b9c993c55883f54d5abe..4617c1e3b467902d78bfde2e7f32a910f0ad6040 100644
--- a/common/test/test-theme/cms/templates/login.html
+++ b/common/test/test-theme/cms/templates/login.html
@@ -4,7 +4,7 @@
 <%inherit file="base.html" />
 <%def name="online_help_token()"><% return "login" %></%def>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from openedx.core.djangolib.js_utils import js_escaped_string
 %>
diff --git a/common/test/test_sites/test_site/templates/courseware/tabs.html b/common/test/test_sites/test_site/templates/courseware/tabs.html
index 2597ca2db92c32171cb46304b32fa90193b7ffde..8077ba73f0606bc7b10efd90be3d2b909acca713 100644
--- a/common/test/test_sites/test_site/templates/courseware/tabs.html
+++ b/common/test/test_sites/test_site/templates/courseware/tabs.html
@@ -2,7 +2,7 @@
 <%namespace name='static' file='/static_content.html'/>
 <%!
  from django.utils.translation import ugettext as _
- from django.core.urlresolvers import reverse
+ from django.urls import reverse
  %>
 <%page args="tab_list, active_page, default_tab, tab_image" expression_filter="h" />
 
diff --git a/common/test/test_sites/test_site/templates/emails/confirm_email_change.txt b/common/test/test_sites/test_site/templates/emails/confirm_email_change.txt
index 8886280c30cdb9ec5e1a5cceda1afd2470de8a44..50ddb80927515669c6364ce2a618ebe09064baaa 100644
--- a/common/test/test_sites/test_site/templates/emails/confirm_email_change.txt
+++ b/common/test/test_sites/test_site/templates/emails/confirm_email_change.txt
@@ -1,4 +1,4 @@
-<%! from django.core.urlresolvers import reverse %>
+<%! from django.urls import reverse %>
 <%! from django.conf import settings %>
 <%! from edxmako.shortcuts import render_to_string, marketing_link %>
 
diff --git a/common/test/test_sites/test_site/templates/footer.html b/common/test/test_sites/test_site/templates/footer.html
index 06c4072c77d9e681ae81f1d5753c90e5fcca5e4d..45194e2067a11df43dea93d993d021c939be0424 100644
--- a/common/test/test_sites/test_site/templates/footer.html
+++ b/common/test/test_sites/test_site/templates/footer.html
@@ -2,7 +2,7 @@
 <%page expression_filter="h"/>
 <%namespace name='static' file='static_content.html'/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 %>
 
diff --git a/common/test/test_sites/test_site/templates/login-sidebar.html b/common/test/test_sites/test_site/templates/login-sidebar.html
index dcee7d381058817b20b08091b51ee42ea31f0d60..43f23e5301a249be8dc8edbec79680980aadc321 100644
--- a/common/test/test_sites/test_site/templates/login-sidebar.html
+++ b/common/test/test_sites/test_site/templates/login-sidebar.html
@@ -1,7 +1,7 @@
 <%page expression_filter="h"/>
 <%!
 from django.utils.translation import ugettext as _ 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 
 <header>
@@ -16,4 +16,4 @@ from django.core.urlresolvers import reverse
   <p>
     Custom text
   </p>
-</div>
\ No newline at end of file
+</div>
diff --git a/common/test/test_sites/test_site/templates/register-sidebar.html b/common/test/test_sites/test_site/templates/register-sidebar.html
index b8edbd2ba57c3ac12717719afd715295a596c014..bdf9f81531567832e4d4887b2b9656c7d2917ed9 100644
--- a/common/test/test_sites/test_site/templates/register-sidebar.html
+++ b/common/test/test_sites/test_site/templates/register-sidebar.html
@@ -1,7 +1,7 @@
 <%page expression_filter="h"/>
 <%!
 from django.utils.translation import ugettext as _ 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 <%namespace file='../../main.html' import="login_query"/>
 <%namespace name='static' file='../../static_content.html'/>
diff --git a/common/test/test_sites/test_site/templates/static_templates/about.html b/common/test/test_sites/test_site/templates/static_templates/about.html
index 5dfbfaf7ad56a6811ea29ff43d5eefbc7230b9e4..c4840e95e87ac52412c25b1f9ebd911d1c50df56 100644
--- a/common/test/test_sites/test_site/templates/static_templates/about.html
+++ b/common/test/test_sites/test_site/templates/static_templates/about.html
@@ -1,5 +1,5 @@
 <%page expression_filter="h"/>
-<%! from django.core.urlresolvers import reverse %>
+<%! from django.urls import reverse %>
 <%namespace name='static' file='../../../static_content.html'/>
 
 <%inherit file="../../../main.html" />
diff --git a/common/test/test_sites/test_site/templates/static_templates/contact.html b/common/test/test_sites/test_site/templates/static_templates/contact.html
index a360a2563eed31dbfac1764443fa1ce0d8f022b2..3cd9120e9a17674f8e0dafc52504ddcf436e0762 100644
--- a/common/test/test_sites/test_site/templates/static_templates/contact.html
+++ b/common/test/test_sites/test_site/templates/static_templates/contact.html
@@ -3,7 +3,7 @@
 <%namespace name='static' file='../static_content.html'/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 
 <%block name="title"><title>${_("Contact {platform_name}").format(platform_name=settings.PLATFORM_NAME)}</title></%block>
diff --git a/common/test/test_sites/test_site/templates/static_templates/faq.html b/common/test/test_sites/test_site/templates/static_templates/faq.html
index c13f3753481c89d25d2b98b38c5b2d15d742f15e..8723f73871bf795927f6f6b8427465b85bf95454 100644
--- a/common/test/test_sites/test_site/templates/static_templates/faq.html
+++ b/common/test/test_sites/test_site/templates/static_templates/faq.html
@@ -3,7 +3,7 @@
 <%namespace name='static' file='../static_content.html'/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 
 <%block name="title"><title>${_("FAQ")}</title></%block>
diff --git a/common/test/test_sites/test_site/templates/static_templates/tos.html b/common/test/test_sites/test_site/templates/static_templates/tos.html
index 1d918c20857ec159b41ab18e2ffc1c831baa4879..607dd9daec6789f7ea7bf151d10f9090a5c67e0b 100644
--- a/common/test/test_sites/test_site/templates/static_templates/tos.html
+++ b/common/test/test_sites/test_site/templates/static_templates/tos.html
@@ -3,7 +3,7 @@
 <%namespace name='static' file='../static_content.html'/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 
 <%block name="pagetitle">${_("Terms of Service")}</%block>
diff --git a/lms/djangoapps/badges/events/course_complete.py b/lms/djangoapps/badges/events/course_complete.py
index 7cb9e4986c41af50ab62d09219a8fd4eabca7394..38ff2f1782c5b4fe29d6dcdbf1e38c1708d0eb04 100644
--- a/lms/djangoapps/badges/events/course_complete.py
+++ b/lms/djangoapps/badges/events/course_complete.py
@@ -4,7 +4,7 @@ Helper functions for the course complete event that was originally included with
 import hashlib
 import logging
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.text import slugify
 from django.utils.translation import ugettext_lazy as _
 
diff --git a/lms/djangoapps/branding/api.py b/lms/djangoapps/branding/api.py
index b1efafb39e20a115fb8e25c2547310908d72930b..59823e423d0fe00941e5b4ab87290fbdccc0d89e 100644
--- a/lms/djangoapps/branding/api.py
+++ b/lms/djangoapps/branding/api.py
@@ -17,7 +17,7 @@ import urlparse
 
 from django.conf import settings
 from django.contrib.staticfiles.storage import staticfiles_storage
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 
 from branding.models import BrandingApiConfig
diff --git a/lms/djangoapps/branding/tests/test_api.py b/lms/djangoapps/branding/tests/test_api.py
index 828d5fe1af0ab7b9deba2918bdaace99f1df8c9b..336ce3bd46d64662cebd9fa3c5537529e6c1d3f2 100644
--- a/lms/djangoapps/branding/tests/test_api.py
+++ b/lms/djangoapps/branding/tests/test_api.py
@@ -4,7 +4,7 @@ from __future__ import unicode_literals
 
 import mock
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from django.test.utils import override_settings
 
diff --git a/lms/djangoapps/branding/tests/test_page.py b/lms/djangoapps/branding/tests/test_page.py
index ce8b14151a09207d3e03c93616ebb75f8d88e193..867170c8caa4c4534ad9ba0eba2d297b60c2c415 100644
--- a/lms/djangoapps/branding/tests/test_page.py
+++ b/lms/djangoapps/branding/tests/test_page.py
@@ -5,7 +5,7 @@ import datetime
 
 from django.conf import settings
 from django.contrib.auth.models import AnonymousUser
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import HttpResponseRedirect
 from django.test.client import RequestFactory
 from django.test.utils import override_settings
diff --git a/lms/djangoapps/branding/tests/test_views.py b/lms/djangoapps/branding/tests/test_views.py
index 7a2f923a3e83e7810aa75333d2c7ec91c1f6357b..599a9a9b7a1571f84f0708c9734ba14338d4c268 100644
--- a/lms/djangoapps/branding/tests/test_views.py
+++ b/lms/djangoapps/branding/tests/test_views.py
@@ -8,7 +8,7 @@ import mock
 from config_models.models import cache
 from django.conf import settings
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 
 from branding.models import BrandingApiConfig
diff --git a/lms/djangoapps/branding/views.py b/lms/djangoapps/branding/views.py
index 6a9f271c1061277389bd57a6d87f447da1661917..bde3416fd38eeebd1ccc7d27c24cc97b7bb8cd1d 100644
--- a/lms/djangoapps/branding/views.py
+++ b/lms/djangoapps/branding/views.py
@@ -5,7 +5,7 @@ import urllib
 from django.conf import settings
 from django.contrib.staticfiles.storage import staticfiles_storage
 from django.core.cache import cache
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import transaction
 from django.http import Http404, HttpResponse
 from django.shortcuts import redirect
diff --git a/lms/djangoapps/bulk_email/tasks.py b/lms/djangoapps/bulk_email/tasks.py
index a92112a78bdbe10bee887c4675a52dacab27f1a9..3526303d3caeaf0c2b59a4d8c63b965d9396a889 100644
--- a/lms/djangoapps/bulk_email/tasks.py
+++ b/lms/djangoapps/bulk_email/tasks.py
@@ -30,7 +30,7 @@ from django.conf import settings
 from django.contrib.auth.models import User
 from django.core.mail import EmailMultiAlternatives, get_connection
 from django.core.mail.message import forbid_multi_line_headers
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import override as override_language
 from django.utils.translation import ugettext as _
 from markupsafe import escape
diff --git a/lms/djangoapps/bulk_email/tests/test_course_optout.py b/lms/djangoapps/bulk_email/tests/test_course_optout.py
index 91a640c437ab8e29b0ae5a6e25671cf7969dd1c1..61a18f146b98251f44b7f9b92b9b6987f93a2313 100644
--- a/lms/djangoapps/bulk_email/tests/test_course_optout.py
+++ b/lms/djangoapps/bulk_email/tests/test_course_optout.py
@@ -6,7 +6,7 @@ import json
 
 from django.core import mail
 from django.core.management import call_command
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from mock import Mock, patch
 from nose.plugins.attrib import attr
 from six import text_type
diff --git a/lms/djangoapps/bulk_email/tests/test_email.py b/lms/djangoapps/bulk_email/tests/test_email.py
index 1b07e81b61ea6c068d707f52b079256f8ada7292..9476039af97b27b07dd504f6abc9fef0158bef9c 100644
--- a/lms/djangoapps/bulk_email/tests/test_email.py
+++ b/lms/djangoapps/bulk_email/tests/test_email.py
@@ -11,7 +11,7 @@ from django.conf import settings
 from django.core import mail
 from django.core.mail.message import forbid_multi_line_headers
 from django.core.management import call_command
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from django.utils.translation import get_language
 from markupsafe import escape
diff --git a/lms/djangoapps/bulk_email/tests/test_err_handling.py b/lms/djangoapps/bulk_email/tests/test_err_handling.py
index f5f5d0f6b1bb5a3541f6e4572e9d7e79c9073838..14186b8af6d757442b6ab7fd98fdd5900cdeb5cd 100644
--- a/lms/djangoapps/bulk_email/tests/test_err_handling.py
+++ b/lms/djangoapps/bulk_email/tests/test_err_handling.py
@@ -10,7 +10,7 @@ import ddt
 from celery.states import RETRY, SUCCESS  # pylint: disable=no-name-in-module, import-error
 from django.conf import settings
 from django.core.management import call_command
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import DatabaseError
 from mock import Mock, patch
 from nose.plugins.attrib import attr
diff --git a/lms/djangoapps/bulk_email/tests/test_signals.py b/lms/djangoapps/bulk_email/tests/test_signals.py
index 427708bd329aa18e6bcdac8ac294e30833bd6c28..18969de2e613887c0a105d87170acfeb231bbfbd 100644
--- a/lms/djangoapps/bulk_email/tests/test_signals.py
+++ b/lms/djangoapps/bulk_email/tests/test_signals.py
@@ -5,7 +5,7 @@ import json
 
 from django.core import mail
 from django.core.management import call_command
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from mock import Mock, patch
 from nose.plugins.attrib import attr
 from six import text_type
diff --git a/lms/djangoapps/bulk_enroll/tests/test_views.py b/lms/djangoapps/bulk_enroll/tests/test_views.py
index 00a92b569bcbc076e47c8233cc14161bad827755..45a84b290ad2954988fef8f2055a873ee5660c58 100644
--- a/lms/djangoapps/bulk_enroll/tests/test_views.py
+++ b/lms/djangoapps/bulk_enroll/tests/test_views.py
@@ -6,7 +6,7 @@ import json
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.core import mail
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from rest_framework.test import APIRequestFactory, APITestCase, force_authenticate
 
diff --git a/lms/djangoapps/ccx/api/v0/tests/test_views.py b/lms/djangoapps/ccx/api/v0/tests/test_views.py
index 1ad89d9ecb8475c0c9ea75cc2c58cf7485929389..d89c01780d5a6e862d225e1438f2b765dfa5b6d8 100644
--- a/lms/djangoapps/ccx/api/v0/tests/test_views.py
+++ b/lms/djangoapps/ccx/api/v0/tests/test_views.py
@@ -14,7 +14,7 @@ import mock
 from ccx_keys.locator import CCXLocator
 from django.conf import settings
 from django.contrib.auth.models import User
-from django.core.urlresolvers import Resolver404, resolve, reverse
+from django.urls import Resolver404, resolve, reverse
 from django.utils.timezone import now
 from nose.plugins.attrib import attr
 from oauth2_provider import models as dot_models
diff --git a/lms/djangoapps/ccx/tests/test_views.py b/lms/djangoapps/ccx/tests/test_views.py
index c3f4f7ce0a81eaab8dafbfaf108797a0f35cb6b9..a9e607ae8e12ed6efd4edc65340a023083eaee57 100644
--- a/lms/djangoapps/ccx/tests/test_views.py
+++ b/lms/djangoapps/ccx/tests/test_views.py
@@ -9,7 +9,7 @@ import urlparse
 import ddt
 from ccx_keys.locator import CCXLocator
 from django.conf import settings
-from django.core.urlresolvers import resolve, reverse
+from django.urls import resolve, reverse
 from django.test import RequestFactory
 from django.test.utils import override_settings
 from pytz import UTC
diff --git a/lms/djangoapps/ccx/utils.py b/lms/djangoapps/ccx/utils.py
index f45336ac348cc1619f40ed7ebad9e690fca3776a..f059759fed04f2037ca748778c2bfe6e29e8b447 100644
--- a/lms/djangoapps/ccx/utils.py
+++ b/lms/djangoapps/ccx/utils.py
@@ -11,7 +11,7 @@ from smtplib import SMTPException
 import pytz
 from django.contrib.auth.models import User
 from django.core.exceptions import ValidationError
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.core.validators import validate_email
 from django.utils.translation import ugettext as _
 
diff --git a/lms/djangoapps/ccx/views.py b/lms/djangoapps/ccx/views.py
index 81e32a34bdccc179264c3f518b39d940a4cd53db..162086be6c7e4a4a34ff294ceb4a9013bdb249df 100644
--- a/lms/djangoapps/ccx/views.py
+++ b/lms/djangoapps/ccx/views.py
@@ -14,7 +14,7 @@ from ccx_keys.locator import CCXLocator
 from django.conf import settings
 from django.contrib import messages
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import transaction
 from django.http import Http404, HttpResponse, HttpResponseForbidden
 from django.shortcuts import redirect
diff --git a/lms/djangoapps/certificates/api.py b/lms/djangoapps/certificates/api.py
index 3da013851a496f60d199fc9a76425ca43ddc31e4..7e29360ffcac7a268786dc34c230154e1a8a514b 100644
--- a/lms/djangoapps/certificates/api.py
+++ b/lms/djangoapps/certificates/api.py
@@ -7,7 +7,7 @@ rather than importing Django models directly.
 import logging
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db.models import Q
 from opaque_keys.edx.django.models import CourseKeyField
 from opaque_keys.edx.keys import CourseKey
diff --git a/lms/djangoapps/certificates/apis/v0/tests/test_views.py b/lms/djangoapps/certificates/apis/v0/tests/test_views.py
index 1aa9aefc6b8eadf5f567668517d64bde9f5f531c..38f82c51b8cd91b328207e2bbeb32a3941ca44dd 100644
--- a/lms/djangoapps/certificates/apis/v0/tests/test_views.py
+++ b/lms/djangoapps/certificates/apis/v0/tests/test_views.py
@@ -3,7 +3,7 @@ Tests for the Certificate REST APIs.
 """
 from datetime import datetime, timedelta
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils import timezone
 from freezegun import freeze_time
 from oauth2_provider import models as dot_models
diff --git a/lms/djangoapps/certificates/queue.py b/lms/djangoapps/certificates/queue.py
index e6faf4102f869a461ba819998c5d03ed5528d420..613e19ab06cec938ae45bd478af8ab9f8115c9c8 100644
--- a/lms/djangoapps/certificates/queue.py
+++ b/lms/djangoapps/certificates/queue.py
@@ -6,7 +6,7 @@ from uuid import uuid4
 
 import lxml.html
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import RequestFactory
 from lxml.etree import ParserError, XMLSyntaxError
 from requests.auth import HTTPBasicAuth
diff --git a/lms/djangoapps/certificates/tests/test_api.py b/lms/djangoapps/certificates/tests/test_api.py
index 13b1f252ec0d2fa079c9d4b8aa1b24988edb5e5d..3033162d6311018a63fb1f9b3ef48e22f73ea14c 100644
--- a/lms/djangoapps/certificates/tests/test_api.py
+++ b/lms/djangoapps/certificates/tests/test_api.py
@@ -8,7 +8,7 @@ from datetime import datetime
 from datetime import timedelta
 from config_models.models import cache
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import RequestFactory, TestCase
 from django.test.utils import override_settings
 from django.utils import timezone
diff --git a/lms/djangoapps/certificates/tests/test_support_views.py b/lms/djangoapps/certificates/tests/test_support_views.py
index 959841a5e7d8d9dfd97d068f0a85c29264f57c46..144ee08f0d3f8fac7b5d925c9d6145467ecd612f 100644
--- a/lms/djangoapps/certificates/tests/test_support_views.py
+++ b/lms/djangoapps/certificates/tests/test_support_views.py
@@ -6,7 +6,7 @@ import json
 
 import ddt
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from opaque_keys.edx.keys import CourseKey
 
diff --git a/lms/djangoapps/certificates/tests/test_views.py b/lms/djangoapps/certificates/tests/test_views.py
index 527a1830007d43e56993ccc64c3cdf25a09b4e0a..7762988e439178a379835d63796e4627938f6b5c 100644
--- a/lms/djangoapps/certificates/tests/test_views.py
+++ b/lms/djangoapps/certificates/tests/test_views.py
@@ -7,7 +7,7 @@ import ddt
 import datetime
 from django.conf import settings
 from django.core.cache import cache
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import Client
 from django.test.utils import override_settings
 from nose.plugins.attrib import attr
diff --git a/lms/djangoapps/certificates/tests/test_webview_views.py b/lms/djangoapps/certificates/tests/test_webview_views.py
index 81a256c80147cb32afcacaa5540041e2f9d0c870..c3a37d4f22ada307c85261553470ef870f0e0589 100644
--- a/lms/djangoapps/certificates/tests/test_webview_views.py
+++ b/lms/djangoapps/certificates/tests/test_webview_views.py
@@ -8,7 +8,7 @@ from urllib import urlencode
 from uuid import uuid4
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import Client, RequestFactory
 from django.test.utils import override_settings
 from django.utils import translation
diff --git a/lms/djangoapps/class_dashboard/tests/test_dashboard_data.py b/lms/djangoapps/class_dashboard/tests/test_dashboard_data.py
index 630dc4cdeb0abdec0fa004a0444c162f72ac038c..2b0dad8b1752c1210b9e5dbb1953677468a923b9 100644
--- a/lms/djangoapps/class_dashboard/tests/test_dashboard_data.py
+++ b/lms/djangoapps/class_dashboard/tests/test_dashboard_data.py
@@ -4,7 +4,7 @@ Tests for class dashboard (Metrics tab in instructor dashboard)
 
 import json
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import RequestFactory
 from mock import patch
 from nose.plugins.attrib import attr
diff --git a/lms/djangoapps/commerce/api/v0/tests/test_views.py b/lms/djangoapps/commerce/api/v0/tests/test_views.py
index 88608a09ef7f62a97aceda61c05e3b0dd3c3ac91..07f412da07a72d3fb5c2dcc55f6b2908b7230364 100644
--- a/lms/djangoapps/commerce/api/v0/tests/test_views.py
+++ b/lms/djangoapps/commerce/api/v0/tests/test_views.py
@@ -8,7 +8,7 @@ import ddt
 import mock
 import pytz
 from django.conf import settings
-from django.core.urlresolvers import reverse, reverse_lazy
+from django.urls import reverse, reverse_lazy
 from django.test import TestCase
 from django.test.utils import override_settings
 from edx_rest_api_client import exceptions
diff --git a/lms/djangoapps/commerce/api/v0/views.py b/lms/djangoapps/commerce/api/v0/views.py
index a50e2afee89cf9ef714b86e457e1a0afae881841..e4657cbdf92dd607c8dbaa918b7044481c982ea8 100644
--- a/lms/djangoapps/commerce/api/v0/views.py
+++ b/lms/djangoapps/commerce/api/v0/views.py
@@ -2,7 +2,7 @@
 import logging
 
 from courseware import courses
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from edx_rest_api_client import exceptions
 from opaque_keys import InvalidKeyError
 from opaque_keys.edx.keys import CourseKey
diff --git a/lms/djangoapps/commerce/api/v1/tests/test_views.py b/lms/djangoapps/commerce/api/v1/tests/test_views.py
index 9252dcec402385c8311be15c4070ace3f5b67a12..2a27e5894504f337adbb7ee1dde5aebf90e0e61b 100644
--- a/lms/djangoapps/commerce/api/v1/tests/test_views.py
+++ b/lms/djangoapps/commerce/api/v1/tests/test_views.py
@@ -7,7 +7,7 @@ import ddt
 import pytz
 from django.conf import settings
 from django.contrib.auth.models import Permission
-from django.core.urlresolvers import reverse, reverse_lazy
+from django.urls import reverse, reverse_lazy
 from django.test import TestCase
 from django.test.utils import override_settings
 from edx_rest_api_client import exceptions
diff --git a/lms/djangoapps/commerce/tests/test_views.py b/lms/djangoapps/commerce/tests/test_views.py
index 601c13a7433e9c7f0b0b1840ef49b98ff91b39a6..9f30d07e8face499e9601a72d5f72f948814ec9b 100644
--- a/lms/djangoapps/commerce/tests/test_views.py
+++ b/lms/djangoapps/commerce/tests/test_views.py
@@ -4,7 +4,7 @@ import json
 
 import ddt
 import mock
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from nose.plugins.attrib import attr
 
 from course_modes.models import CourseMode
diff --git a/lms/djangoapps/commerce/utils.py b/lms/djangoapps/commerce/utils.py
index d40c289fbbe0f0040499c80aac345b947ced05f1..0589bd78c39b25d566aac323bda555ea156efdea 100644
--- a/lms/djangoapps/commerce/utils.py
+++ b/lms/djangoapps/commerce/utils.py
@@ -8,7 +8,7 @@ import requests
 import waffle
 from django.conf import settings
 from django.contrib.auth import get_user_model
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 
 from openedx.core.djangoapps.commerce.utils import ecommerce_api_client, is_commerce_service_configured
diff --git a/lms/djangoapps/course_api/blocks/tests/test_views.py b/lms/djangoapps/course_api/blocks/tests/test_views.py
index 7c3f1c5a81973da4639bd3f39a7f51bb70f351a5..427b85fdcc7cb2accba64aad86caeb635b76c4e8 100644
--- a/lms/djangoapps/course_api/blocks/tests/test_views.py
+++ b/lms/djangoapps/course_api/blocks/tests/test_views.py
@@ -6,7 +6,7 @@ from string import join
 from urllib import urlencode
 from urlparse import urlunparse
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from opaque_keys.edx.locator import CourseLocator
 
 from student.models import CourseEnrollment
diff --git a/lms/djangoapps/course_api/serializers.py b/lms/djangoapps/course_api/serializers.py
index 7c8f2ee853216fb8e15e58d010b9aa0d473d1527..544339b445e45561b6de3a2319ef282485f6b385 100644
--- a/lms/djangoapps/course_api/serializers.py
+++ b/lms/djangoapps/course_api/serializers.py
@@ -4,7 +4,7 @@ Course API Serializers.  Representing course catalog data
 
 import urllib
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from rest_framework import serializers
 
 from openedx.core.djangoapps.models.course_details import CourseDetails
diff --git a/lms/djangoapps/course_api/tests/test_views.py b/lms/djangoapps/course_api/tests/test_views.py
index 0f2618c720b90828a5e1cf1f44532827a461e1c2..ad243c1a5aa0d3e858fac3ad4e89cef1c786e24e 100644
--- a/lms/djangoapps/course_api/tests/test_views.py
+++ b/lms/djangoapps/course_api/tests/test_views.py
@@ -3,7 +3,7 @@ Tests for Course API views.
 """
 from hashlib import md5
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import RequestFactory
 from django.test.utils import override_settings
 from nose.plugins.attrib import attr
diff --git a/lms/djangoapps/course_goals/tests/test_api.py b/lms/djangoapps/course_goals/tests/test_api.py
index 5593ce9d9638183dd85dfbe1f35c62ac5c384019..edca8d9fa506771e878c49c2b7c22758c57d9bb5 100644
--- a/lms/djangoapps/course_goals/tests/test_api.py
+++ b/lms/djangoapps/course_goals/tests/test_api.py
@@ -4,7 +4,7 @@ Unit tests for course_goals.api methods.
 import mock
 
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from lms.djangoapps.course_goals.models import CourseGoal
 from rest_framework.test import APIClient
diff --git a/lms/djangoapps/course_wiki/tests/tests.py b/lms/djangoapps/course_wiki/tests/tests.py
index a18f051a4542a5576de15da0a6ec555f82685063..02a79cb7619e4bc3823f5b80551e9500b619da64 100644
--- a/lms/djangoapps/course_wiki/tests/tests.py
+++ b/lms/djangoapps/course_wiki/tests/tests.py
@@ -2,7 +2,7 @@
 Tests for course wiki
 """
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from mock import patch
 from nose.plugins.attrib import attr
 from six import text_type
diff --git a/lms/djangoapps/courseware/courses.py b/lms/djangoapps/courseware/courses.py
index cef3e7dd71e38d6c96a403df70a2d95bf995080d..0738d1c525c46ff340131454848029bbcb19db2a 100644
--- a/lms/djangoapps/courseware/courses.py
+++ b/lms/djangoapps/courseware/courses.py
@@ -21,7 +21,7 @@ from courseware.date_summary import (
 from courseware.model_data import FieldDataCache
 from courseware.module_render import get_module
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import Http404, QueryDict
 from enrollment.api import get_course_enrollment_details
 from edxmako.shortcuts import render_to_string
diff --git a/lms/djangoapps/courseware/date_summary.py b/lms/djangoapps/courseware/date_summary.py
index 85dda380742f4147c28a2877637780403fc43c97..20ca88ac85e4c320609cdbbcfdb87cc7bd20fa51 100644
--- a/lms/djangoapps/courseware/date_summary.py
+++ b/lms/djangoapps/courseware/date_summary.py
@@ -9,7 +9,7 @@ import datetime
 from babel.dates import format_timedelta
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.formats import date_format
 from django.utils.functional import cached_property
 from django.utils.translation import get_language, to_locale, ugettext_lazy
diff --git a/lms/djangoapps/courseware/features/common.py b/lms/djangoapps/courseware/features/common.py
index 160bba983b16c7e3823d5cf555b4bd605d8a511f..79e17f4816956bdf393c460f33ddafd13c7147ee 100644
--- a/lms/djangoapps/courseware/features/common.py
+++ b/lms/djangoapps/courseware/features/common.py
@@ -7,7 +7,7 @@ import time
 from logging import getLogger
 
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from lettuce import step, world
 from lettuce.django import django_url
 
diff --git a/lms/djangoapps/courseware/module_render.py b/lms/djangoapps/courseware/module_render.py
index a48307ddd11f85eaace5b36cdd63b03e979db722..dd38fa8af949ef98e6ed62fc5a70dbc275dfda89 100644
--- a/lms/djangoapps/courseware/module_render.py
+++ b/lms/djangoapps/courseware/module_render.py
@@ -15,7 +15,7 @@ from django.contrib.auth.models import User
 from django.core.cache import cache
 from django.template.context_processors import csrf
 from django.core.exceptions import PermissionDenied
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import Http404, HttpResponse, HttpResponseForbidden
 from django.views.decorators.csrf import csrf_exempt
 from edx_proctoring.services import ProctoringService
diff --git a/lms/djangoapps/courseware/tests/helpers.py b/lms/djangoapps/courseware/tests/helpers.py
index 6387faa28ea239cb91528d77f9fb89067ad9bc52..7b163f33570c99ab5e829e1a5609c202de0db3f6 100644
--- a/lms/djangoapps/courseware/tests/helpers.py
+++ b/lms/djangoapps/courseware/tests/helpers.py
@@ -5,7 +5,7 @@ import json
 
 from django.contrib import messages
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from django.test.client import Client, RequestFactory
 from six import text_type
diff --git a/lms/djangoapps/courseware/tests/test_about.py b/lms/djangoapps/courseware/tests/test_about.py
index 9aa1b70f92b3c59491139bfd04b904bb1fdd3597..88350f45b30186ffe492c9a404906fd19ccb8d95 100644
--- a/lms/djangoapps/courseware/tests/test_about.py
+++ b/lms/djangoapps/courseware/tests/test_about.py
@@ -6,7 +6,7 @@ import ddt
 import pytz
 from ccx_keys.locator import CCXLocator
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from milestones.tests.utils import MilestonesTestCaseMixin
 from mock import patch
diff --git a/lms/djangoapps/courseware/tests/test_access.py b/lms/djangoapps/courseware/tests/test_access.py
index 66ae0a6d7365bcffadcb1457a81036a99628b9bd..6dabede671421a56bdc8b01b0ca277040e1c4d77 100644
--- a/lms/djangoapps/courseware/tests/test_access.py
+++ b/lms/djangoapps/courseware/tests/test_access.py
@@ -9,7 +9,7 @@ import ddt
 import pytz
 from ccx_keys.locator import CCXLocator
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from django.test.client import RequestFactory
 from milestones.tests.utils import MilestonesTestCaseMixin
diff --git a/lms/djangoapps/courseware/tests/test_course_info.py b/lms/djangoapps/courseware/tests/test_course_info.py
index 04ec1bf6885e0f679e7a464f2a202711ab809ee3..60fa76eef20270644c35c77a87031f1a9c6a40d4 100644
--- a/lms/djangoapps/courseware/tests/test_course_info.py
+++ b/lms/djangoapps/courseware/tests/test_course_info.py
@@ -5,7 +5,7 @@ Test the course_info xblock
 import ddt
 import mock
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import QueryDict
 from django.test.utils import override_settings
 
diff --git a/lms/djangoapps/courseware/tests/test_course_survey.py b/lms/djangoapps/courseware/tests/test_course_survey.py
index 9ac5032532f188f7e155ae841ca5f782cfb5f979..c51e8abb2adf9eefcdfd7f5175ced495b4104062 100644
--- a/lms/djangoapps/courseware/tests/test_course_survey.py
+++ b/lms/djangoapps/courseware/tests/test_course_survey.py
@@ -6,7 +6,7 @@ from collections import OrderedDict
 from copy import deepcopy
 
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from nose.plugins.attrib import attr
 
 from common.test.utils import XssTestMixin
diff --git a/lms/djangoapps/courseware/tests/test_courses.py b/lms/djangoapps/courseware/tests/test_courses.py
index 41512357c98b6d185f3469f7519ebb82c5bfe5ef..92454ee2021f22f5ec31897ce4c3e49260709d36 100644
--- a/lms/djangoapps/courseware/tests/test_courses.py
+++ b/lms/djangoapps/courseware/tests/test_courses.py
@@ -9,7 +9,7 @@ import ddt
 import mock
 import pytz
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import RequestFactory
 from django.test.utils import override_settings
 from nose.plugins.attrib import attr
diff --git a/lms/djangoapps/courseware/tests/test_credit_requirements.py b/lms/djangoapps/courseware/tests/test_credit_requirements.py
index 416fe258742bef6ea933063d6532f7770e5384a1..e539b2d2dafcbe18f57f1202db856f03510e3ce1 100644
--- a/lms/djangoapps/courseware/tests/test_credit_requirements.py
+++ b/lms/djangoapps/courseware/tests/test_credit_requirements.py
@@ -4,7 +4,7 @@ Tests for credit requirement display on the progress page.
 
 import ddt
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from mock import patch
 
 from course_modes.models import CourseMode
diff --git a/lms/djangoapps/courseware/tests/test_date_summary.py b/lms/djangoapps/courseware/tests/test_date_summary.py
index 5ddb17704af8940803f106935d3995c4799e1fc0..b58195f864527ee9abf260cf8293630749564e1c 100644
--- a/lms/djangoapps/courseware/tests/test_date_summary.py
+++ b/lms/djangoapps/courseware/tests/test_date_summary.py
@@ -5,7 +5,7 @@ from datetime import datetime, timedelta
 import ddt
 import waffle
 from django.contrib.messages.middleware import MessageMiddleware
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import RequestFactory
 from freezegun import freeze_time
 from mock import patch
diff --git a/lms/djangoapps/courseware/tests/test_discussion_xblock.py b/lms/djangoapps/courseware/tests/test_discussion_xblock.py
index 05db1e5a365091e1d143f437179a221803f8bd14..f01a3ddcc889c9c9a81861e8b0876849f5a4eae9 100644
--- a/lms/djangoapps/courseware/tests/test_discussion_xblock.py
+++ b/lms/djangoapps/courseware/tests/test_discussion_xblock.py
@@ -11,7 +11,7 @@ import uuid
 
 import ddt
 import mock
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from web_fragments.fragment import Fragment
 from xblock.field_data import DictFieldData
 
diff --git a/lms/djangoapps/courseware/tests/test_entrance_exam.py b/lms/djangoapps/courseware/tests/test_entrance_exam.py
index b56e1e074faac4aaf156a7d6a498f4dbff7126ee..eeeab157a404f2e37e2a42fd58e2c6fc3cb33a1d 100644
--- a/lms/djangoapps/courseware/tests/test_entrance_exam.py
+++ b/lms/djangoapps/courseware/tests/test_entrance_exam.py
@@ -1,7 +1,7 @@
 """
 Tests use cases related to LMS Entrance Exam behavior, such as gated content access (TOC)
 """
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import RequestFactory
 from mock import Mock, patch
 
diff --git a/lms/djangoapps/courseware/tests/test_i18n.py b/lms/djangoapps/courseware/tests/test_i18n.py
index 71e1c8f77955f550d1e53f9ae041285a072a2d5a..939cc697935aefb3413a3930b49b225cd38d1e4b 100644
--- a/lms/djangoapps/courseware/tests/test_i18n.py
+++ b/lms/djangoapps/courseware/tests/test_i18n.py
@@ -7,7 +7,7 @@ import re
 
 from django.conf import settings
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse, reverse_lazy
+from django.urls import reverse, reverse_lazy
 from django.test import TestCase
 from django.test.client import Client
 from django.utils import translation
diff --git a/lms/djangoapps/courseware/tests/test_lti_integration.py b/lms/djangoapps/courseware/tests/test_lti_integration.py
index b6be3737a85bf1a19dacbe77c59253f4d3cb111e..74a92ffefc6565946c6ab0e7242b246439ea0129 100644
--- a/lms/djangoapps/courseware/tests/test_lti_integration.py
+++ b/lms/djangoapps/courseware/tests/test_lti_integration.py
@@ -7,7 +7,7 @@ from collections import OrderedDict
 import mock
 import pytest
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 import oauthlib
 from courseware.tests.helpers import BaseTestXmodule
diff --git a/lms/djangoapps/courseware/tests/test_masquerade.py b/lms/djangoapps/courseware/tests/test_masquerade.py
index d2e494ae4143cd77226b8f08cf1ce942d283a204..7a7d1ae3dd9e8be10bf5f84748eff586bd2f8854 100644
--- a/lms/djangoapps/courseware/tests/test_masquerade.py
+++ b/lms/djangoapps/courseware/tests/test_masquerade.py
@@ -6,7 +6,7 @@ import pickle
 from datetime import datetime
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from mock import patch
 from pytz import UTC
diff --git a/lms/djangoapps/courseware/tests/test_microsites.py b/lms/djangoapps/courseware/tests/test_microsites.py
index 46d35e3c53984516b9b84ebbec2c2b5ecd80ef01..2ba2f627aac32bd175a6c612fb4a3d349be87d28 100644
--- a/lms/djangoapps/courseware/tests/test_microsites.py
+++ b/lms/djangoapps/courseware/tests/test_microsites.py
@@ -6,7 +6,7 @@ import pytest
 from bs4 import BeautifulSoup
 from contextlib import contextmanager
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from mock import patch
 from nose.plugins.attrib import attr
diff --git a/lms/djangoapps/courseware/tests/test_module_render.py b/lms/djangoapps/courseware/tests/test_module_render.py
index 0a454cf77bb11ae9ba776019ef4b208249c52831..366cb42a31046553500037f46f78d5d234e7a455 100644
--- a/lms/djangoapps/courseware/tests/test_module_render.py
+++ b/lms/djangoapps/courseware/tests/test_module_render.py
@@ -15,7 +15,7 @@ from completion.models import BlockCompletion
 from completion import waffle as completion_waffle
 from django.conf import settings
 from django.contrib.auth.models import AnonymousUser
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import Http404, HttpResponse
 from django.test.client import RequestFactory
 from django.test.utils import override_settings
diff --git a/lms/djangoapps/courseware/tests/test_navigation.py b/lms/djangoapps/courseware/tests/test_navigation.py
index d3abde6e82a0d05b81aa921bebaaf2599e278c3d..e5f61a34c5fe58376b71d9d2c31adc43ae1ee435 100644
--- a/lms/djangoapps/courseware/tests/test_navigation.py
+++ b/lms/djangoapps/courseware/tests/test_navigation.py
@@ -4,7 +4,7 @@ This test file will run through some LMS test scenarios regarding access and nav
 import time
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from mock import patch
 from nose.plugins.attrib import attr
diff --git a/lms/djangoapps/courseware/tests/test_password_history.py b/lms/djangoapps/courseware/tests/test_password_history.py
index 8a4e5a87f99986d8d3f1dad8062d46d3b4f78ef9..05d6ad72ffd5469923024dac3bc1bad8d022f609 100644
--- a/lms/djangoapps/courseware/tests/test_password_history.py
+++ b/lms/djangoapps/courseware/tests/test_password_history.py
@@ -8,7 +8,7 @@ from uuid import uuid4
 import ddt
 from django.contrib.auth.models import User
 from django.contrib.auth.tokens import default_token_generator
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from django.utils import timezone
 from django.utils.http import int_to_base36
diff --git a/lms/djangoapps/courseware/tests/test_split_module.py b/lms/djangoapps/courseware/tests/test_split_module.py
index bc837e696e2e4d1a0714580f4b47d5634f2d6504..41b1fd91421cc03b659d2f898ca2cdc9fc2c747f 100644
--- a/lms/djangoapps/courseware/tests/test_split_module.py
+++ b/lms/djangoapps/courseware/tests/test_split_module.py
@@ -1,7 +1,7 @@
 """
 Test for split test XModule
 """
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from mock import MagicMock
 from nose.plugins.attrib import attr
 from six import text_type
diff --git a/lms/djangoapps/courseware/tests/test_submitting_problems.py b/lms/djangoapps/courseware/tests/test_submitting_problems.py
index bfd2ca66b8261f4c1c1fd1e6aae1ac3aa57084d3..5505520ad160df2b65c27beb56969f50beda24df 100644
--- a/lms/djangoapps/courseware/tests/test_submitting_problems.py
+++ b/lms/djangoapps/courseware/tests/test_submitting_problems.py
@@ -12,7 +12,7 @@ from textwrap import dedent
 import ddt
 from django.conf import settings
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from django.test.client import RequestFactory
 from django.utils.timezone import now
diff --git a/lms/djangoapps/courseware/tests/test_tabs.py b/lms/djangoapps/courseware/tests/test_tabs.py
index 121adf99c9b079250a35e92611b39f807796472d..de7fc6f77198b729be12232b148ad5b81d38bae6 100644
--- a/lms/djangoapps/courseware/tests/test_tabs.py
+++ b/lms/djangoapps/courseware/tests/test_tabs.py
@@ -4,7 +4,7 @@ Test cases for tabs.
 
 import pytest
 from django.contrib.auth.models import AnonymousUser
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import Http404
 from milestones.tests.utils import MilestonesTestCaseMixin
 from mock import MagicMock, Mock, patch
diff --git a/lms/djangoapps/courseware/tests/test_view_authentication.py b/lms/djangoapps/courseware/tests/test_view_authentication.py
index e9ab065bb0b53466afcc8adf40797c37da5e9e04..c0bd58c7350e681b7220215a78dccfe0159f72a3 100644
--- a/lms/djangoapps/courseware/tests/test_view_authentication.py
+++ b/lms/djangoapps/courseware/tests/test_view_authentication.py
@@ -1,7 +1,7 @@
 import datetime
 
 import pytz
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from mock import patch
 from nose.plugins.attrib import attr
 from six import text_type
diff --git a/lms/djangoapps/courseware/tests/test_views.py b/lms/djangoapps/courseware/tests/test_views.py
index d4db7e8ddeca72846bce73397a3603b1486a11a6..c28f4e300a22680c134576d1a728ac61cfa3c1bf 100644
--- a/lms/djangoapps/courseware/tests/test_views.py
+++ b/lms/djangoapps/courseware/tests/test_views.py
@@ -13,7 +13,7 @@ from uuid import uuid4
 import ddt
 from django.conf import settings
 from django.contrib.auth.models import AnonymousUser
-from django.core.urlresolvers import reverse, reverse_lazy
+from django.urls import reverse, reverse_lazy
 from django.http import Http404, HttpResponseBadRequest
 from django.test import TestCase
 from django.test.client import Client, RequestFactory
diff --git a/lms/djangoapps/courseware/tests/tests.py b/lms/djangoapps/courseware/tests/tests.py
index 92dde53e4557d97680980096233c83d5f1935bf5..384d7a92e139ece4d775b774a78fab907fe9146a 100644
--- a/lms/djangoapps/courseware/tests/tests.py
+++ b/lms/djangoapps/courseware/tests/tests.py
@@ -5,7 +5,7 @@ from textwrap import dedent
 from unittest import TestCase
 
 import mock
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from nose.plugins.attrib import attr
 from opaque_keys.edx.keys import CourseKey
 from six import text_type
diff --git a/lms/djangoapps/courseware/url_helpers.py b/lms/djangoapps/courseware/url_helpers.py
index 25ac8e49153430ed1ece6ac6e55e198bebf1da41..2c82f2a653c1205a46654963e27941db4f664c44 100644
--- a/lms/djangoapps/courseware/url_helpers.py
+++ b/lms/djangoapps/courseware/url_helpers.py
@@ -3,7 +3,7 @@ Module to define url helpers functions
 """
 from urllib import urlencode
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.search import navigation_index, path_to_location
diff --git a/lms/djangoapps/courseware/views/index.py b/lms/djangoapps/courseware/views/index.py
index f6ad873cf9328185a705b86303c39ff057b11815..50f0d82a69088b5ce23fb214245d430d5b521dbc 100644
--- a/lms/djangoapps/courseware/views/index.py
+++ b/lms/djangoapps/courseware/views/index.py
@@ -10,7 +10,7 @@ import urllib
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.contrib.auth.views import redirect_to_login
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import Http404
 from django.template.context_processors import csrf
 from django.utils.decorators import method_decorator
diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py
index 31e2a635cf6e4c3cde5d1c219cf612ccff1819de..3496788e0be19c7fc7deb0f9cebbf190ac0582ea 100644
--- a/lms/djangoapps/courseware/views/views.py
+++ b/lms/djangoapps/courseware/views/views.py
@@ -12,7 +12,7 @@ from django.conf import settings
 from django.contrib.auth.decorators import login_required
 from django.contrib.auth.models import AnonymousUser, User
 from django.core.exceptions import PermissionDenied
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import transaction
 from django.db.models import Q
 from django.http import Http404, HttpResponse, HttpResponseBadRequest, HttpResponseForbidden
diff --git a/lms/djangoapps/dashboard/tests/test_sysadmin.py b/lms/djangoapps/dashboard/tests/test_sysadmin.py
index 10a65e27c791d5476c1d903bbb7833ed1021b0a5..fe3304a0ad8c5e5391c85fcb22747d64ad243e6b 100644
--- a/lms/djangoapps/dashboard/tests/test_sysadmin.py
+++ b/lms/djangoapps/dashboard/tests/test_sysadmin.py
@@ -11,7 +11,7 @@ from uuid import uuid4
 
 import mongoengine
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import Client
 from django.test.utils import override_settings
 from pytz import UTC
diff --git a/lms/djangoapps/discussion/templates/discussion/discussion_board_fragment.html b/lms/djangoapps/discussion/templates/discussion/discussion_board_fragment.html
index 82863b484c1efd4c05928b0e6da5d70ae53c8c13..0adb14423d5d8bcac46442b04c1cdb172746a733 100644
--- a/lms/djangoapps/discussion/templates/discussion/discussion_board_fragment.html
+++ b/lms/djangoapps/discussion/templates/discussion/discussion_board_fragment.html
@@ -8,7 +8,7 @@
 import json
 from django.utils.translation import ugettext as _
 from django.template.defaultfilters import escapejs
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from django_comment_client.permissions import has_permission
 from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_string
diff --git a/lms/djangoapps/discussion/templates/discussion/discussion_profile_page.html b/lms/djangoapps/discussion/templates/discussion/discussion_profile_page.html
index f6e3bdf60fa04e933115aa0480059b252fbeff62..e28b32599fd4ba9a0947ad3af7c23a6b70663667 100644
--- a/lms/djangoapps/discussion/templates/discussion/discussion_profile_page.html
+++ b/lms/djangoapps/discussion/templates/discussion/discussion_profile_page.html
@@ -8,7 +8,7 @@
 import json
 from django.utils.translation import ugettext as _, ungettext
 from django.template.defaultfilters import escapejs
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from django_comment_client.permissions import has_permission
 from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_string
diff --git a/lms/djangoapps/discussion/tests/test_views.py b/lms/djangoapps/discussion/tests/test_views.py
index efabd929a4c9ba7eae8100ba7e8034c89d5d0944..e454e19e226e582959d84a5348803873f03b65e6 100644
--- a/lms/djangoapps/discussion/tests/test_views.py
+++ b/lms/djangoapps/discussion/tests/test_views.py
@@ -3,7 +3,7 @@ import logging
 from datetime import datetime
 
 import ddt
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import Http404
 from django.test.client import Client, RequestFactory
 from django.test.utils import override_settings
diff --git a/lms/djangoapps/discussion/views.py b/lms/djangoapps/discussion/views.py
index b123a148e303b6c10f0ca925984ef0dc329e53d8..eedbc34156e2d3b455fd066dcf3b783f0e016239 100644
--- a/lms/djangoapps/discussion/views.py
+++ b/lms/djangoapps/discussion/views.py
@@ -10,7 +10,7 @@ from django.contrib.auth.decorators import login_required
 from django.contrib.auth.models import User
 from django.contrib.staticfiles.storage import staticfiles_storage
 from django.template.context_processors import csrf
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import Http404, HttpResponseServerError
 from django.shortcuts import render_to_response
 from django.template.loader import render_to_string
diff --git a/lms/djangoapps/discussion_api/api.py b/lms/djangoapps/discussion_api/api.py
index eeb30fc271c4ca973f76ba0ad2682795d17581c7..6c26e9af6b06a0cfc73f44f72c1534610a89b0c0 100644
--- a/lms/djangoapps/discussion_api/api.py
+++ b/lms/djangoapps/discussion_api/api.py
@@ -7,7 +7,7 @@ from urllib import urlencode
 from urlparse import urlunparse
 
 from django.core.exceptions import ValidationError
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import Http404
 from enum import Enum
 from opaque_keys import InvalidKeyError
diff --git a/lms/djangoapps/discussion_api/serializers.py b/lms/djangoapps/discussion_api/serializers.py
index 4f7c1d14ff58ef5596e58d4822240888400a7ceb..9c8f7dd50a66fbfe6ad120e03cc2c330990e73ed 100644
--- a/lms/djangoapps/discussion_api/serializers.py
+++ b/lms/djangoapps/discussion_api/serializers.py
@@ -6,7 +6,7 @@ from urlparse import urlunparse
 
 from django.contrib.auth.models import User as DjangoUser
 from django.core.exceptions import ValidationError
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from rest_framework import serializers
 
 from discussion_api.permissions import NON_UPDATABLE_COMMENT_FIELDS, NON_UPDATABLE_THREAD_FIELDS, get_editable_fields
diff --git a/lms/djangoapps/discussion_api/tests/test_views.py b/lms/djangoapps/discussion_api/tests/test_views.py
index 421d282ce787cc83c24bb59dad2ab90f17b1ca2f..9504e2bf8498e852d503537f4e2aa0f2a73a6b68 100644
--- a/lms/djangoapps/discussion_api/tests/test_views.py
+++ b/lms/djangoapps/discussion_api/tests/test_views.py
@@ -10,7 +10,7 @@ from urlparse import urlparse
 import ddt
 import httpretty
 import mock
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from nose.plugins.attrib import attr
 from pytz import UTC
 from rest_framework.parsers import JSONParser
diff --git a/lms/djangoapps/django_comment_client/base/event_transformers.py b/lms/djangoapps/django_comment_client/base/event_transformers.py
index 736f344f46b681c4dfd18950767768bbb5cc40ad..1441ca9a7bd805526b4f42e0ae0e42dfb0383155 100644
--- a/lms/djangoapps/django_comment_client/base/event_transformers.py
+++ b/lms/djangoapps/django_comment_client/base/event_transformers.py
@@ -2,7 +2,7 @@
 Transformers for Discussion-related events.
 """
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse, NoReverseMatch
+from django.urls import reverse, NoReverseMatch
 
 from eventtracking.processors.exceptions import EventEmissionExit
 from opaque_keys import InvalidKeyError
diff --git a/lms/djangoapps/django_comment_client/base/tests.py b/lms/djangoapps/django_comment_client/base/tests.py
index 603f0c37ebf3f237f44409f183531546b467f14c..32030878195876073a198151b65bb522372551af 100644
--- a/lms/djangoapps/django_comment_client/base/tests.py
+++ b/lms/djangoapps/django_comment_client/base/tests.py
@@ -9,7 +9,7 @@ import ddt
 import pytest
 from django.contrib.auth.models import User
 from django.core.management import call_command
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import RequestFactory
 from eventtracking.processors.exceptions import EventEmissionExit
 from mock import ANY, Mock, patch
diff --git a/lms/djangoapps/django_comment_client/tests/test_utils.py b/lms/djangoapps/django_comment_client/tests/test_utils.py
index 4e237df82cc15c1ffa5acee949c7f6b87a64732e..d46a04c2bc72e8d8f1785e681c0e7fabaa32649a 100644
--- a/lms/djangoapps/django_comment_client/tests/test_utils.py
+++ b/lms/djangoapps/django_comment_client/tests/test_utils.py
@@ -6,7 +6,7 @@ import ddt
 import mock
 import pytest
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import RequestFactory, TestCase
 from mock import Mock, patch
 from nose.plugins.attrib import attr
diff --git a/lms/djangoapps/django_comment_client/utils.py b/lms/djangoapps/django_comment_client/utils.py
index 24c928c34920fbef765543e49b77b04db5a5ccbd..abcbf5fa63cd352d3ab49ea4bcac9b3b8f3dd92a 100644
--- a/lms/djangoapps/django_comment_client/utils.py
+++ b/lms/djangoapps/django_comment_client/utils.py
@@ -5,7 +5,7 @@ from datetime import datetime
 
 from django.conf import settings
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import connection
 from django.http import HttpResponse
 from pytz import UTC
diff --git a/lms/djangoapps/edxnotes/helpers.py b/lms/djangoapps/edxnotes/helpers.py
index 4c981d9d70f9a266c48ac3f7d01c88c2eeea648e..e01c0cc5397aac12cbf295a707e1a2f497529596 100644
--- a/lms/djangoapps/edxnotes/helpers.py
+++ b/lms/djangoapps/edxnotes/helpers.py
@@ -13,7 +13,7 @@ import requests
 from dateutil.parser import parse as dateutil_parse
 from django.conf import settings
 from django.core.exceptions import ImproperlyConfigured
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from opaque_keys.edx.keys import UsageKey
 from provider.oauth2.models import Client
diff --git a/lms/djangoapps/edxnotes/tests.py b/lms/djangoapps/edxnotes/tests.py
index 4b45d6bba3be80f4e12191c5e844140eed7ac33c..173c696871568a2423b4fa00481cf642e3ba72a5 100644
--- a/lms/djangoapps/edxnotes/tests.py
+++ b/lms/djangoapps/edxnotes/tests.py
@@ -13,7 +13,7 @@ import jwt
 from django.conf import settings
 from django.contrib.auth.models import AnonymousUser
 from django.core.exceptions import ImproperlyConfigured
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import RequestFactory
 from django.test.utils import override_settings
 from edx_oauth2_provider.tests.factories import ClientFactory
diff --git a/lms/djangoapps/edxnotes/views.py b/lms/djangoapps/edxnotes/views.py
index bf4ed68e285cf8038bb64817231f61b0a2d1d11c..512beca9d2150508029a57ac621e74b2995ba430 100644
--- a/lms/djangoapps/edxnotes/views.py
+++ b/lms/djangoapps/edxnotes/views.py
@@ -6,7 +6,7 @@ import logging
 
 from django.conf import settings
 from django.contrib.auth.decorators import login_required
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import Http404, HttpResponse
 from django.views.decorators.http import require_GET
 from opaque_keys.edx.keys import CourseKey
diff --git a/lms/djangoapps/experiments/tests/test_views.py b/lms/djangoapps/experiments/tests/test_views.py
index 71dbb6482842901beeef81173cfed89fa7f9ea50..d3b48d4abc94e540872e047648b5ae8ad54cb82c 100644
--- a/lms/djangoapps/experiments/tests/test_views.py
+++ b/lms/djangoapps/experiments/tests/test_views.py
@@ -3,7 +3,7 @@ import unittest
 
 from django.conf import settings
 from django.core.handlers.wsgi import WSGIRequest
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from mock import patch
 from rest_framework.test import APITestCase
diff --git a/lms/djangoapps/grades/api/tests/test_views.py b/lms/djangoapps/grades/api/tests/test_views.py
index caaef711a0897192e93dc0db2a3f0040b3689026..311ad0204423308f912b9233284ee447f1d94d95 100644
--- a/lms/djangoapps/grades/api/tests/test_views.py
+++ b/lms/djangoapps/grades/api/tests/test_views.py
@@ -5,7 +5,7 @@ from datetime import datetime
 from urllib import urlencode
 
 import ddt
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from edx_oauth2_provider.tests.factories import AccessTokenFactory, ClientFactory
 from mock import patch
 from opaque_keys import InvalidKeyError
diff --git a/lms/djangoapps/grades/api/v1/tests/test_views.py b/lms/djangoapps/grades/api/v1/tests/test_views.py
index e73361bf9efaf8c067bfac67921e26adf3eecfd4..7ffb728376fa44d06355acd82003b29ee892f54a 100644
--- a/lms/djangoapps/grades/api/v1/tests/test_views.py
+++ b/lms/djangoapps/grades/api/v1/tests/test_views.py
@@ -4,7 +4,7 @@ Tests for v1 views
 from datetime import datetime
 import ddt
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from mock import MagicMock, patch
 from opaque_keys import InvalidKeyError
 from pytz import UTC
diff --git a/lms/djangoapps/instructor/enrollment.py b/lms/djangoapps/instructor/enrollment.py
index 6e8977e90c958c80d1249fcb3b00ea7733afdc37..3fabe4630fd0d18d491bb2abbf293df0dc888e0a 100644
--- a/lms/djangoapps/instructor/enrollment.py
+++ b/lms/djangoapps/instructor/enrollment.py
@@ -12,7 +12,7 @@ import pytz
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.core.mail import send_mail
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import override as override_language
 from six import text_type
 
diff --git a/lms/djangoapps/instructor/tests/test_api.py b/lms/djangoapps/instructor/tests/test_api.py
index 870418132384fc4248890e30487a92ca741fc2e4..5275f8d6c0dcea3a6ef38e70f00a34bf7c561385 100644
--- a/lms/djangoapps/instructor/tests/test_api.py
+++ b/lms/djangoapps/instructor/tests/test_api.py
@@ -16,7 +16,7 @@ from django.conf import settings
 from django.contrib.auth.models import User
 from django.core import mail
 from django.core.files.uploadedfile import SimpleUploadedFile
-from django.core.urlresolvers import reverse as django_reverse
+from django.urls import reverse as django_reverse
 from django.http import HttpRequest, HttpResponse
 from django.test import RequestFactory, TestCase
 from django.test.utils import override_settings
diff --git a/lms/djangoapps/instructor/tests/test_api_email_localization.py b/lms/djangoapps/instructor/tests/test_api_email_localization.py
index c48f843f49959466ceb918ba838645c972f30404..a6c3e0a6412147d856ddf4152a1be51444417cdc 100644
--- a/lms/djangoapps/instructor/tests/test_api_email_localization.py
+++ b/lms/djangoapps/instructor/tests/test_api_email_localization.py
@@ -4,7 +4,7 @@ Unit tests for the localization of emails sent by instructor.api methods.
 """
 
 from django.core import mail
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from nose.plugins.attrib import attr
 from six import text_type
diff --git a/lms/djangoapps/instructor/tests/test_certificates.py b/lms/djangoapps/instructor/tests/test_certificates.py
index e6fe57cae21c144a43edfe1698855e0ed5be8052..54345f14ab171a4f3c46ea1079276fc7ae1653e3 100644
--- a/lms/djangoapps/instructor/tests/test_certificates.py
+++ b/lms/djangoapps/instructor/tests/test_certificates.py
@@ -11,7 +11,7 @@ from config_models.models import cache
 from django.conf import settings
 from django.core.exceptions import ObjectDoesNotExist
 from django.core.files.uploadedfile import SimpleUploadedFile
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from nose.plugins.attrib import attr
 
diff --git a/lms/djangoapps/instructor/tests/test_ecommerce.py b/lms/djangoapps/instructor/tests/test_ecommerce.py
index 2bc2f6b19c18fa2e5b3b466466fc70a1c096f77e..a9bbbe3a86b1274748823e0b7ec3600730152b3a 100644
--- a/lms/djangoapps/instructor/tests/test_ecommerce.py
+++ b/lms/djangoapps/instructor/tests/test_ecommerce.py
@@ -5,7 +5,7 @@ Unit tests for Ecommerce feature flag in new instructor dashboard.
 import datetime
 
 import pytz
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from nose.plugins.attrib import attr
 from six import text_type
 
diff --git a/lms/djangoapps/instructor/tests/test_email.py b/lms/djangoapps/instructor/tests/test_email.py
index a889f62b6c69a0ecb6a254d93ebad43d52a37d5c..f2f3be05f5ebe56a0dfdfcca5e9d3243deab8373 100644
--- a/lms/djangoapps/instructor/tests/test_email.py
+++ b/lms/djangoapps/instructor/tests/test_email.py
@@ -5,7 +5,7 @@ non-Mongo backed courses, regardless of email feature flag, and
 that the view is conditionally available when Course Auth is turned on.
 """
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from nose.plugins.attrib import attr
 from opaque_keys.edx.keys import CourseKey
 from six import text_type
diff --git a/lms/djangoapps/instructor/tests/test_proctoring.py b/lms/djangoapps/instructor/tests/test_proctoring.py
index ef1506cec2966a27254862feaf3fd853e6878aa6..a7746dffcfdf3911e3b636e76c71efca898e9c2a 100644
--- a/lms/djangoapps/instructor/tests/test_proctoring.py
+++ b/lms/djangoapps/instructor/tests/test_proctoring.py
@@ -4,7 +4,7 @@ Unit tests for Edx Proctoring feature flag in new instructor dashboard.
 
 import ddt
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from mock import patch
 from nose.plugins.attrib import attr
 from six import text_type
diff --git a/lms/djangoapps/instructor/tests/test_registration_codes.py b/lms/djangoapps/instructor/tests/test_registration_codes.py
index 9c7e7bde733811e24858e074231fcc6f9de6fb3c..52c85afdbdf11d5a022d30ed95fd46ff5ff85fa3 100644
--- a/lms/djangoapps/instructor/tests/test_registration_codes.py
+++ b/lms/djangoapps/instructor/tests/test_registration_codes.py
@@ -3,7 +3,7 @@ Test for the registration code status information.
 """
 import json
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from django.utils.translation import ugettext as _
 from nose.plugins.attrib import attr
diff --git a/lms/djangoapps/instructor/tests/test_spoc_gradebook.py b/lms/djangoapps/instructor/tests/test_spoc_gradebook.py
index ec16a13dc3bbd873679c23ae1f292a58e6117f53..df0110c86565343373f46b01eb501aac2750a65a 100644
--- a/lms/djangoapps/instructor/tests/test_spoc_gradebook.py
+++ b/lms/djangoapps/instructor/tests/test_spoc_gradebook.py
@@ -2,7 +2,7 @@
 Tests of the instructor dashboard spoc gradebook
 """
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from nose.plugins.attrib import attr
 from six import text_type
 
diff --git a/lms/djangoapps/instructor/tests/views/test_instructor_dashboard.py b/lms/djangoapps/instructor/tests/views/test_instructor_dashboard.py
index 102d6c4a207b95f5083ce10b3d804821dbb5cc71..cfc8045381ef11bdd164aae0809e0b42027ed6ff 100644
--- a/lms/djangoapps/instructor/tests/views/test_instructor_dashboard.py
+++ b/lms/djangoapps/instructor/tests/views/test_instructor_dashboard.py
@@ -6,7 +6,7 @@ import datetime
 import ddt
 from django.conf import settings
 from django.contrib.sites.models import Site
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import RequestFactory
 from django.test.utils import override_settings
 from mock import patch
diff --git a/lms/djangoapps/instructor/views/api.py b/lms/djangoapps/instructor/views/api.py
index 00886585f34dc95103eed381b788979d2825091e..434ca59a7f5e5ebc4d9b86eacf319540a3af1607 100644
--- a/lms/djangoapps/instructor/views/api.py
+++ b/lms/djangoapps/instructor/views/api.py
@@ -25,7 +25,7 @@ from django.core.exceptions import (
     ValidationError
 )
 from django.core.mail.message import EmailMessage
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.core.validators import validate_email
 from django.db import IntegrityError, transaction
 from django.http import HttpResponse, HttpResponseBadRequest, HttpResponseForbidden, HttpResponseNotFound
diff --git a/lms/djangoapps/instructor/views/gradebook_api.py b/lms/djangoapps/instructor/views/gradebook_api.py
index aa690eddda0913be96be1fe648e4dfb59fa71336..922d351d08200373f60e6defd75f5f870f52d7e8 100644
--- a/lms/djangoapps/instructor/views/gradebook_api.py
+++ b/lms/djangoapps/instructor/views/gradebook_api.py
@@ -5,7 +5,7 @@ which is currently use by ccx and instructor apps.
 import math
 
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import transaction
 from django.views.decorators.cache import cache_control
 from opaque_keys.edx.keys import CourseKey
diff --git a/lms/djangoapps/instructor/views/instructor_dashboard.py b/lms/djangoapps/instructor/views/instructor_dashboard.py
index 97ac3eaec356241ba5cba0bacba7edd6a3e353a0..65bfdb7b0687da0b5566c811d7dd6d07a2beaa42 100644
--- a/lms/djangoapps/instructor/views/instructor_dashboard.py
+++ b/lms/djangoapps/instructor/views/instructor_dashboard.py
@@ -9,7 +9,7 @@ import uuid
 import pytz
 from django.conf import settings
 from django.contrib.auth.decorators import login_required
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import Http404, HttpResponseServerError
 from django.utils.html import escape
 from django.utils.translation import ugettext as _
diff --git a/lms/djangoapps/instructor/views/registration_codes.py b/lms/djangoapps/instructor/views/registration_codes.py
index ad8c00fe6e4ffe303036ea0b55f1028df3701de7..357de69be63c72eba1e029f0a6b4e60f2fe0ebab 100644
--- a/lms/djangoapps/instructor/views/registration_codes.py
+++ b/lms/djangoapps/instructor/views/registration_codes.py
@@ -3,7 +3,7 @@ E-commerce Tab Instructor Dashboard Query Registration Code Status.
 """
 import logging
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from django.views.decorators.cache import cache_control
 from django.views.decorators.http import require_GET, require_POST
diff --git a/lms/djangoapps/instructor_analytics/basic.py b/lms/djangoapps/instructor_analytics/basic.py
index 0851f4a6ac0aa52921fcf42958560a1ce723c6f2..3a5130c116c300c90064403db5fcf16f4a17792a 100644
--- a/lms/djangoapps/instructor_analytics/basic.py
+++ b/lms/djangoapps/instructor_analytics/basic.py
@@ -10,7 +10,7 @@ from django.conf import settings
 from django.contrib.auth.models import User
 from django.core.exceptions import ObjectDoesNotExist
 from django.core.serializers.json import DjangoJSONEncoder
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db.models import Count, Q
 from edx_proctoring.api import get_exam_violation_report
 from opaque_keys.edx.keys import UsageKey
diff --git a/lms/djangoapps/instructor_analytics/tests/test_basic.py b/lms/djangoapps/instructor_analytics/tests/test_basic.py
index 6d2b616e52d2b257a598b0602f105f33955c9834..1d85160986637e9c3c3396a1d2a54db1f9ddcbc5 100644
--- a/lms/djangoapps/instructor_analytics/tests/test_basic.py
+++ b/lms/djangoapps/instructor_analytics/tests/test_basic.py
@@ -6,7 +6,7 @@ import datetime
 import json
 
 import pytz
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db.models import Q
 from edx_proctoring.api import create_exam
 from edx_proctoring.models import ProctoredExamStudentAttempt
diff --git a/lms/djangoapps/instructor_task/tests/test_base.py b/lms/djangoapps/instructor_task/tests/test_base.py
index 1bd6277bd4f451fdc4b0bb0e8ad513427a8cac83..80bad8b4c5cb408a2fe67cde760bf7e320a5f793 100644
--- a/lms/djangoapps/instructor_task/tests/test_base.py
+++ b/lms/djangoapps/instructor_task/tests/test_base.py
@@ -12,7 +12,7 @@ from uuid import uuid4
 import unicodecsv
 from celery.states import FAILURE, SUCCESS
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from mock import Mock, patch
 from opaque_keys.edx.locations import Location
 from opaque_keys.edx.keys import CourseKey
diff --git a/lms/djangoapps/instructor_task/tests/test_integration.py b/lms/djangoapps/instructor_task/tests/test_integration.py
index 092f0107b5838bffa48705879a8b93a0cf773a62..1c2ea4ec2877ba2aa9064d5b165787887a6b9dfd 100644
--- a/lms/djangoapps/instructor_task/tests/test_integration.py
+++ b/lms/djangoapps/instructor_task/tests/test_integration.py
@@ -13,7 +13,7 @@ from collections import namedtuple
 import ddt
 from celery.states import FAILURE, SUCCESS
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from mock import patch
 from nose.plugins.attrib import attr
 from six import text_type
diff --git a/lms/djangoapps/instructor_task/tests/test_tasks_helper.py b/lms/djangoapps/instructor_task/tests/test_tasks_helper.py
index 5efde29c06444131e9d09bd2584a3b541b0029bb..502d83adc1c8389e2b093a034cd5795e65abdc62 100644
--- a/lms/djangoapps/instructor_task/tests/test_tasks_helper.py
+++ b/lms/djangoapps/instructor_task/tests/test_tasks_helper.py
@@ -22,7 +22,7 @@ from course_modes.models import CourseMode
 from course_modes.tests.factories import CourseModeFactory
 from courseware.tests.factories import InstructorFactory
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from freezegun import freeze_time
 from instructor_analytics.basic import UNAVAILABLE, list_problem_responses
diff --git a/lms/djangoapps/learner_dashboard/programs.py b/lms/djangoapps/learner_dashboard/programs.py
index 82a88b128e975525a5f334777a120d1a3d2515b9..d08e40b2557acecba909d5560dab3737908430d7 100644
--- a/lms/djangoapps/learner_dashboard/programs.py
+++ b/lms/djangoapps/learner_dashboard/programs.py
@@ -6,7 +6,7 @@ import json
 from django.http import Http404
 from django.template.loader import render_to_string
 from django.utils.translation import get_language_bidi
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from web_fragments.fragment import Fragment
 
diff --git a/lms/djangoapps/learner_dashboard/tests/test_programs.py b/lms/djangoapps/learner_dashboard/tests/test_programs.py
index 5387b733aa5b8406c5631300645bc234c4731d3a..627893bd036b100842a04f7f422240ad05ca95bd 100644
--- a/lms/djangoapps/learner_dashboard/tests/test_programs.py
+++ b/lms/djangoapps/learner_dashboard/tests/test_programs.py
@@ -10,7 +10,7 @@ from uuid import uuid4
 import mock
 from bs4 import BeautifulSoup
 from django.conf import settings
-from django.core.urlresolvers import reverse, reverse_lazy
+from django.urls import reverse, reverse_lazy
 from django.test import override_settings
 
 from lms.envs.test import CREDENTIALS_PUBLIC_SERVICE_URL
diff --git a/lms/djangoapps/lms_xblock/runtime.py b/lms/djangoapps/lms_xblock/runtime.py
index 52179f10e0de00d962a6bd52e8285af2f64ee19a..ce3b8cf221581e116618e4e5d4a3a06fdf9ec3cd 100644
--- a/lms/djangoapps/lms_xblock/runtime.py
+++ b/lms/djangoapps/lms_xblock/runtime.py
@@ -3,7 +3,7 @@ Module implementing `xblock.runtime.Runtime` functionality for the LMS
 """
 from completion.services import CompletionService
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 import xblock.reference.plugins
 
 from badges.service import BadgingService
diff --git a/lms/djangoapps/lti_provider/tests/test_views.py b/lms/djangoapps/lti_provider/tests/test_views.py
index d4dd15ec4cd6f4c86879e5306e0b0d967f428922..64461be81be96a7f6b1376c9f16dcf2fcd8de0ea 100644
--- a/lms/djangoapps/lti_provider/tests/test_views.py
+++ b/lms/djangoapps/lti_provider/tests/test_views.py
@@ -3,7 +3,7 @@ Tests for the LTI provider views
 """
 
 import pytest
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from django.test.client import RequestFactory
 from mock import MagicMock, patch
diff --git a/lms/djangoapps/mobile_api/testutils.py b/lms/djangoapps/mobile_api/testutils.py
index 3739e5c0d10481cc75b0e049a2f290a63a3ad33a..b1af12a70e45fb1bc01047dfd9cd33810deaef88 100644
--- a/lms/djangoapps/mobile_api/testutils.py
+++ b/lms/djangoapps/mobile_api/testutils.py
@@ -14,7 +14,7 @@ Test utilities for mobile API tests:
 import ddt
 import datetime
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils import timezone
 from mock import patch
 from opaque_keys.edx.keys import CourseKey
diff --git a/lms/djangoapps/notes/models.py b/lms/djangoapps/notes/models.py
index 60776d7b63286d527f4a324ab1af4d11a2e21238..4515b2724907acd89ee882922be8ffda7eab164b 100644
--- a/lms/djangoapps/notes/models.py
+++ b/lms/djangoapps/notes/models.py
@@ -2,7 +2,7 @@ import json
 
 from django.contrib.auth.models import User
 from django.core.exceptions import ValidationError
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import models
 from django.utils.html import strip_tags
 from opaque_keys.edx.django.models import CourseKeyField
diff --git a/lms/djangoapps/notes/tests.py b/lms/djangoapps/notes/tests.py
index b32b99910d563a1f694d376f4cebcb99f4755fcb..2ee2e263b35d3a64db453c2edaf31d693ea0ee25 100644
--- a/lms/djangoapps/notes/tests.py
+++ b/lms/djangoapps/notes/tests.py
@@ -6,7 +6,7 @@ import json
 
 from django.contrib.auth.models import User
 from django.core.exceptions import ValidationError
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import RequestFactory, TestCase
 from django.test.client import Client
 from mock import Mock, patch
diff --git a/lms/djangoapps/notification_prefs/tests.py b/lms/djangoapps/notification_prefs/tests.py
index 8aac28453e54fd2ef7b95583370dfb001f67b53e..85bc646876c35a5a0e79c0a51fa7b279a7393de5 100644
--- a/lms/djangoapps/notification_prefs/tests.py
+++ b/lms/djangoapps/notification_prefs/tests.py
@@ -2,7 +2,7 @@ import json
 
 from django.contrib.auth.models import AnonymousUser
 from django.core.exceptions import PermissionDenied
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import Http404
 from django.test import TestCase
 from django.test.client import RequestFactory
diff --git a/lms/djangoapps/rss_proxy/tests/test_views.py b/lms/djangoapps/rss_proxy/tests/test_views.py
index ae5abea07d26c6be6818e0fe85fb2348a84c15b2..2d89dccb0f66425603029c1ca48fae441d8aea2b 100644
--- a/lms/djangoapps/rss_proxy/tests/test_views.py
+++ b/lms/djangoapps/rss_proxy/tests/test_views.py
@@ -1,7 +1,7 @@
 """
 Tests for the rss_proxy views
 """
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from mock import Mock, patch
 
diff --git a/lms/djangoapps/shoppingcart/api.py b/lms/djangoapps/shoppingcart/api.py
index b8157cab37e6e81e5e86a7213f9ebb6a0e898b6f..f466bd61599793bd8fea3c45798835f44ad858f6 100644
--- a/lms/djangoapps/shoppingcart/api.py
+++ b/lms/djangoapps/shoppingcart/api.py
@@ -1,7 +1,7 @@
 """
 API for for getting information about the user's shopping cart.
 """
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from shoppingcart.models import OrderItem
 from xmodule.modulestore.django import ModuleI18nService
diff --git a/lms/djangoapps/shoppingcart/models.py b/lms/djangoapps/shoppingcart/models.py
index 54edf2df702ed06e7566637612d75fb971122f6c..809f08414d7e1cc6000bab4cb87172f7cce01e1f 100644
--- a/lms/djangoapps/shoppingcart/models.py
+++ b/lms/djangoapps/shoppingcart/models.py
@@ -20,7 +20,7 @@ from django.contrib.auth.models import User
 from django.core.exceptions import ObjectDoesNotExist
 from django.core.mail import send_mail
 from django.core.mail.message import EmailMessage
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import models, transaction
 from django.db.models import Count, F, Q, Sum
 from django.db.models.signals import post_delete, post_save
diff --git a/lms/djangoapps/shoppingcart/tests/test_configuration_overrides.py b/lms/djangoapps/shoppingcart/tests/test_configuration_overrides.py
index 3ecfb38b955b910145b7e24e43433082a21506b3..ed9849a7408e217638f1be74b4c182ca43d83c76 100644
--- a/lms/djangoapps/shoppingcart/tests/test_configuration_overrides.py
+++ b/lms/djangoapps/shoppingcart/tests/test_configuration_overrides.py
@@ -2,7 +2,7 @@
 """
 Dashboard with Shopping Cart History tests with configuration overrides.
 """
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from mock import patch
 
 from course_modes.models import CourseMode
diff --git a/lms/djangoapps/shoppingcart/tests/test_models.py b/lms/djangoapps/shoppingcart/tests/test_models.py
index 6c085870aed5b2cd1d307dde4be282031ff7bc6c..b64f786162e89ad8d0481f6c7e4db9fd3ffb3210 100644
--- a/lms/djangoapps/shoppingcart/tests/test_models.py
+++ b/lms/djangoapps/shoppingcart/tests/test_models.py
@@ -15,7 +15,7 @@ from django.conf import settings
 from django.contrib.auth.models import AnonymousUser
 from django.core import mail
 from django.core.mail.message import EmailMessage
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import DatabaseError
 from django.test import TestCase
 from django.test.utils import override_settings
diff --git a/lms/djangoapps/shoppingcart/tests/test_views.py b/lms/djangoapps/shoppingcart/tests/test_views.py
index cc44487943cc04a7711c2a8bcbeb041087bc636a..ad34161f52183ceb196f84b55342d00d704d6630 100644
--- a/lms/djangoapps/shoppingcart/tests/test_views.py
+++ b/lms/djangoapps/shoppingcart/tests/test_views.py
@@ -15,7 +15,7 @@ from django.contrib.auth.models import Group, User
 from django.contrib.messages.storage.fallback import FallbackStorage
 from django.core import mail
 from django.core.cache import cache
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import HttpRequest
 from django.test import TestCase
 from django.test.utils import override_settings
diff --git a/lms/djangoapps/shoppingcart/views.py b/lms/djangoapps/shoppingcart/views.py
index 966790754f680f7a27905ce92df8e5a0a12a364a..2781a8b947e1fec18434813e5090806786a28368 100644
--- a/lms/djangoapps/shoppingcart/views.py
+++ b/lms/djangoapps/shoppingcart/views.py
@@ -8,7 +8,7 @@ from config_models.decorators import require_config
 from django.conf import settings
 from django.contrib.auth.decorators import login_required
 from django.contrib.auth.models import Group
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db.models import Q
 from django.http import (
     Http404,
diff --git a/lms/djangoapps/static_template_view/tests/test_views.py b/lms/djangoapps/static_template_view/tests/test_views.py
index ff062605d65cba16801308485e05af096766ba78..ed8f00e488a956bd47602b86dd9aa1152b1cd550 100644
--- a/lms/djangoapps/static_template_view/tests/test_views.py
+++ b/lms/djangoapps/static_template_view/tests/test_views.py
@@ -2,7 +2,7 @@
 Tests for static templates
 """
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 
 from openedx.core.djangoapps.site_configuration.tests.test_util import with_site_configuration_context
diff --git a/lms/djangoapps/staticbook/tests.py b/lms/djangoapps/staticbook/tests.py
index e4347f1618e272380440ddacae9184fc14d0b259..e8c62ac321e2e9fab513402e773959aa4995d4dd 100644
--- a/lms/djangoapps/staticbook/tests.py
+++ b/lms/djangoapps/staticbook/tests.py
@@ -6,7 +6,7 @@ import textwrap
 
 import mock
 import requests
-from django.core.urlresolvers import NoReverseMatch, reverse
+from django.urls import NoReverseMatch, reverse
 from six import text_type
 
 from student.tests.factories import CourseEnrollmentFactory, UserFactory
diff --git a/lms/djangoapps/student_account/test/test_views.py b/lms/djangoapps/student_account/test/test_views.py
index e5f2b207ec7929016fd169c4f7d7172627a736f0..30b69f69835eef03689ce6720c398f39da42efe7 100644
--- a/lms/djangoapps/student_account/test/test_views.py
+++ b/lms/djangoapps/student_account/test/test_views.py
@@ -17,7 +17,7 @@ from django.contrib.messages.middleware import MessageMiddleware
 from django.contrib.sessions.middleware import SessionMiddleware
 from django.core import mail
 from django.core.files.uploadedfile import SimpleUploadedFile
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import HttpRequest
 from django.test import TestCase
 from django.test.client import RequestFactory
diff --git a/lms/djangoapps/student_account/views.py b/lms/djangoapps/student_account/views.py
index 38f9be8d9944f8b1b2ab86270376db0481450544..bec05327cea3eb79e06b2ab71342d29f2daa9197 100644
--- a/lms/djangoapps/student_account/views.py
+++ b/lms/djangoapps/student_account/views.py
@@ -10,7 +10,7 @@ from django.contrib import messages
 from django.contrib.auth import get_user_model
 from django.contrib.auth.decorators import login_required
 from django.contrib.sites.models import Site
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import HttpRequest, HttpResponse, HttpResponseBadRequest, HttpResponseForbidden
 from django.shortcuts import redirect
 from django.utils.translation import ugettext as _
diff --git a/lms/djangoapps/support/tests/test_views.py b/lms/djangoapps/support/tests/test_views.py
index 587f112630bfcd8e59d4677686437b8726ef6a87..0e778930a92f0eed051d6a7ca0a348ff26a16dee 100644
--- a/lms/djangoapps/support/tests/test_views.py
+++ b/lms/djangoapps/support/tests/test_views.py
@@ -11,7 +11,7 @@ from datetime import datetime, timedelta
 import ddt
 import pytest
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db.models import signals
 from nose.plugins.attrib import attr
 from pytz import UTC
diff --git a/lms/djangoapps/support/views/enrollments.py b/lms/djangoapps/support/views/enrollments.py
index 87e4041f2fba4815fe604ae30526e71ac673daf2..c6f7fcdcd86b3c9ff5569c2102a6b82cbb68ecdb 100644
--- a/lms/djangoapps/support/views/enrollments.py
+++ b/lms/djangoapps/support/views/enrollments.py
@@ -2,7 +2,7 @@
 Support tool for changing course enrollments.
 """
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import transaction
 from django.db.models import Q
 from django.http import HttpResponseBadRequest
diff --git a/lms/djangoapps/support/views/index.py b/lms/djangoapps/support/views/index.py
index 4bc51d0b1dc0252f3c74047eb3fb7c08a815da2a..8b6630fe5ef241593a686d6c31b63185132c4791 100644
--- a/lms/djangoapps/support/views/index.py
+++ b/lms/djangoapps/support/views/index.py
@@ -1,7 +1,7 @@
 """
 Index view for the support app.
 """
-from django.core.urlresolvers import reverse_lazy
+from django.urls import reverse_lazy
 from django.utils.translation import ugettext_lazy as _
 
 from edxmako.shortcuts import render_to_response
diff --git a/lms/djangoapps/support/views/manage_user.py b/lms/djangoapps/support/views/manage_user.py
index 17101299ac5da062aec844035b3f7b79c75d6091..02ce16ef5f077ad801ed6e4c801655831d783de9 100644
--- a/lms/djangoapps/support/views/manage_user.py
+++ b/lms/djangoapps/support/views/manage_user.py
@@ -2,7 +2,7 @@
 Support tool for disabling user accounts.
 """
 from django.contrib.auth import get_user_model
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db.models import Q
 from django.utils.decorators import method_decorator
 from django.utils.translation import ugettext as _
diff --git a/lms/djangoapps/survey/tests/test_views.py b/lms/djangoapps/survey/tests/test_views.py
index 61438f2420403b267df193c2ef33cb32167569cc..6e1e5bde0e9c74f3d2d389cde4784abfa8b2fd34 100644
--- a/lms/djangoapps/survey/tests/test_views.py
+++ b/lms/djangoapps/survey/tests/test_views.py
@@ -5,7 +5,7 @@ Python tests for the Survey views
 import json
 from collections import OrderedDict
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import Client
 
 from student.tests.factories import UserFactory
diff --git a/lms/djangoapps/survey/views.py b/lms/djangoapps/survey/views.py
index db54ddf8917234a8e30904a376f6933d480fdcc2..93fe837014cfb588ade839767bbc6bcb43d9266a 100644
--- a/lms/djangoapps/survey/views.py
+++ b/lms/djangoapps/survey/views.py
@@ -7,7 +7,7 @@ import logging
 
 from django.conf import settings
 from django.contrib.auth.decorators import login_required
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import HttpResponse, HttpResponseNotFound, HttpResponseRedirect
 from django.utils.html import escape
 from django.views.decorators.http import require_POST
diff --git a/lms/djangoapps/teams/tests/test_views.py b/lms/djangoapps/teams/tests/test_views.py
index 36a0e55adfc63b99f5033ed2979ed55cb046b928..6000d5b39c3569b49d7dd50db04a2672478eb3bc 100644
--- a/lms/djangoapps/teams/tests/test_views.py
+++ b/lms/djangoapps/teams/tests/test_views.py
@@ -9,7 +9,7 @@ import pytest
 import pytz
 from dateutil import parser
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db.models.signals import post_save
 from django.utils import translation
 from elasticsearch.exceptions import ConnectionError
diff --git a/lms/djangoapps/verify_student/models.py b/lms/djangoapps/verify_student/models.py
index 6502e680065abc8a58b66465a034e3aa3a6d6677..29dc0dc9c3b11cda65164f123352460474041bf9 100644
--- a/lms/djangoapps/verify_student/models.py
+++ b/lms/djangoapps/verify_student/models.py
@@ -25,7 +25,7 @@ from django.contrib.contenttypes.fields import GenericForeignKey
 from django.contrib.contenttypes.models import ContentType
 from django.core.cache import cache
 from django.core.files.base import ContentFile
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import models
 from django.dispatch import receiver
 from django.utils.functional import cached_property
diff --git a/lms/djangoapps/verify_student/services.py b/lms/djangoapps/verify_student/services.py
index 3105db64dbb90b28875d212a6e84442efdcab728..8e8cbc026a8ebfa5345065a71e791917660401d0 100644
--- a/lms/djangoapps/verify_student/services.py
+++ b/lms/djangoapps/verify_student/services.py
@@ -6,7 +6,7 @@ import logging
 
 from itertools import chain
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 
 from course_modes.models import CourseMode
diff --git a/lms/djangoapps/verify_student/tests/fake_software_secure.py b/lms/djangoapps/verify_student/tests/fake_software_secure.py
index fab26690d254d107a98a55a7e4d41fb08b0026b0..cbae6181e82a3f338271e80e0174f0cbd5e6c897 100644
--- a/lms/djangoapps/verify_student/tests/fake_software_secure.py
+++ b/lms/djangoapps/verify_student/tests/fake_software_secure.py
@@ -4,7 +4,7 @@ Fake Software Secure page for use in acceptance tests.
 
 from django.conf import settings
 from django.contrib.auth.decorators import login_required
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.decorators import method_decorator
 from django.views.generic.base import View
 
diff --git a/lms/djangoapps/verify_student/tests/test_integration.py b/lms/djangoapps/verify_student/tests/test_integration.py
index 35d5ef23c3248ca284d845fab23b7a96c78c403f..7c8eec40cb1c1f5f68e89d79473a2229f992554f 100644
--- a/lms/djangoapps/verify_student/tests/test_integration.py
+++ b/lms/djangoapps/verify_student/tests/test_integration.py
@@ -2,7 +2,7 @@
 Integration tests of the payment flow, including course mode selection.
 """
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from course_modes.tests.factories import CourseModeFactory
 from student.models import CourseEnrollment
diff --git a/lms/djangoapps/verify_student/tests/test_views.py b/lms/djangoapps/verify_student/tests/test_views.py
index 2b8882adf5334acbf7792988cae4336ef8f7a4ca..d9c1416c71848205964d30ec765860a805c2d99a 100644
--- a/lms/djangoapps/verify_student/tests/test_views.py
+++ b/lms/djangoapps/verify_student/tests/test_views.py
@@ -18,7 +18,7 @@ import requests
 from bs4 import BeautifulSoup
 from django.conf import settings
 from django.core import mail
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from django.test.client import Client, RequestFactory
 from django.test.utils import override_settings
diff --git a/lms/djangoapps/verify_student/views.py b/lms/djangoapps/verify_student/views.py
index b81c86dfc1576ceb301ff065ab8aafac701e98d8..7d2a63e420440ae6995ed882474d613700865e7e 100644
--- a/lms/djangoapps/verify_student/views.py
+++ b/lms/djangoapps/verify_student/views.py
@@ -13,7 +13,7 @@ from django.conf import settings
 from django.contrib.auth.decorators import login_required
 from django.contrib.staticfiles.storage import staticfiles_storage
 from django.core.mail import send_mail
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import transaction
 from django.http import Http404, HttpResponse, HttpResponseBadRequest
 from django.shortcuts import redirect
diff --git a/lms/lib/courseware_search/lms_result_processor.py b/lms/lib/courseware_search/lms_result_processor.py
index 633528c03ecfbe8f2086a1c255b4d17d74176bcf..89e1fa0d00be30c99b0dc9087ba15d66c999a482 100644
--- a/lms/lib/courseware_search/lms_result_processor.py
+++ b/lms/lib/courseware_search/lms_result_processor.py
@@ -3,7 +3,7 @@ This file contains implementation override of SearchResultProcessor which will a
     * Blends in "location" property
     * Confirms user access to object
 """
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from opaque_keys.edx.keys import CourseKey, UsageKey
 from search.result_processor import SearchResultProcessor
 
diff --git a/lms/templates/api_admin/catalogs/edit.html b/lms/templates/api_admin/catalogs/edit.html
index f66590d332c5b258bc762c949ae785aaaa0459c2..a12dca712ba213d14d151185a537be824f9c823d 100644
--- a/lms/templates/api_admin/catalogs/edit.html
+++ b/lms/templates/api_admin/catalogs/edit.html
@@ -2,7 +2,7 @@
 <%page expression_filter="h"/>
 <%inherit file="../../main.html"/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 %>
 
diff --git a/lms/templates/api_admin/catalogs/list.html b/lms/templates/api_admin/catalogs/list.html
index ddf20f3159cfc2f35e6b7146a03402b28ac6fffd..843b71029428af7fe821c27240fc43a211e4616a 100644
--- a/lms/templates/api_admin/catalogs/list.html
+++ b/lms/templates/api_admin/catalogs/list.html
@@ -2,7 +2,7 @@
 <%page expression_filter="h"/>
 <%inherit file="../../main.html"/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 %>
 
diff --git a/lms/templates/api_admin/catalogs/search.html b/lms/templates/api_admin/catalogs/search.html
index 36db13b7e08db6f61be3bbacd3dd29d73bc99ec2..9b3d2881ea0fc253d7811eb55612a73513487437 100644
--- a/lms/templates/api_admin/catalogs/search.html
+++ b/lms/templates/api_admin/catalogs/search.html
@@ -2,7 +2,7 @@
 <%page expression_filter="h"/>
 <%inherit file="../../main.html"/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 %>
 
diff --git a/lms/templates/api_admin/terms_of_service.html b/lms/templates/api_admin/terms_of_service.html
index 1bbcac0a29ef754725584b02c839e7160b2deb1d..82bb53bd40668405db223e5b35f13f1623f2e34d 100644
--- a/lms/templates/api_admin/terms_of_service.html
+++ b/lms/templates/api_admin/terms_of_service.html
@@ -2,7 +2,7 @@
 <%page expression_filter="h"/>
 <%inherit file="../main.html"/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 %>
 
diff --git a/lms/templates/bookmark_button.html b/lms/templates/bookmark_button.html
index 21fe05420e317c4c318abf3fb14f059be186a51b..57cba749dd325165e9d2b91d02826288ed13b4a0 100644
--- a/lms/templates/bookmark_button.html
+++ b/lms/templates/bookmark_button.html
@@ -1,7 +1,7 @@
 <%page expression_filter="h" args="bookmark_id, is_bookmarked" />
 
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 %>
 
diff --git a/lms/templates/calculator/toggle_calculator.html b/lms/templates/calculator/toggle_calculator.html
index 287e090cd1e5bb0a112afb260915ca7c71f3bad9..3a08016443576117062c4c80eb14c57aff14a210 100644
--- a/lms/templates/calculator/toggle_calculator.html
+++ b/lms/templates/calculator/toggle_calculator.html
@@ -2,7 +2,7 @@
 
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from openedx.core.djangolib.markup import HTML, Text
 %>
 
diff --git a/lms/templates/ccx/coach_dashboard.html b/lms/templates/ccx/coach_dashboard.html
index acea0a12f25094536db6253f0702d601b2019c86..498a8d583a1955d11b448ad7a7f327db7ce8432c 100644
--- a/lms/templates/ccx/coach_dashboard.html
+++ b/lms/templates/ccx/coach_dashboard.html
@@ -3,7 +3,7 @@
 <%namespace name='static' file='/static_content.html'/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from openedx.core.djangolib.js_utils import (
     dump_js_escaped_json, js_escaped_string
 )
diff --git a/lms/templates/class_dashboard/all_section_metrics.js b/lms/templates/class_dashboard/all_section_metrics.js
index 16c8f89c422704851087b6da88537dc376d4beae..05edde730fb4513332337db966363cd8882338be 100644
--- a/lms/templates/class_dashboard/all_section_metrics.js
+++ b/lms/templates/class_dashboard/all_section_metrics.js
@@ -1,7 +1,7 @@
 <%page args="id_opened_prefix, id_grade_prefix, id_attempt_prefix, id_tooltip_prefix, course_id, allSubsectionTooltipArr, allProblemTooltipArr, **kwargs"/>
 <%!
   import json
-  from django.core.urlresolvers import reverse
+  from django.urls import reverse
   from six import text_type
 %>
 
@@ -105,4 +105,4 @@ $(function () {
     
   });
   
-});
\ No newline at end of file
+});
diff --git a/lms/templates/conditional_module.html b/lms/templates/conditional_module.html
index a35a822bcb02fadb06695a87eac3801c257b90d9..a4667b8b6617a3609a4c825f4c17e4660ebb7269 100644
--- a/lms/templates/conditional_module.html
+++ b/lms/templates/conditional_module.html
@@ -1,5 +1,5 @@
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from six import text_type
 %>
diff --git a/lms/templates/course.html b/lms/templates/course.html
index 1d438e59683938b48060f62abb32031fc89d33d7..295101da8241d60b1ae3ba47ab572db374d67e7f 100644
--- a/lms/templates/course.html
+++ b/lms/templates/course.html
@@ -2,7 +2,7 @@
 <%namespace name='static' file='static_content.html'/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from six import text_type
 %>
 <%page args="course" expression_filter="h"/>
diff --git a/lms/templates/course_modes/choose.html b/lms/templates/course_modes/choose.html
index 055518316336e9b80206990146e3a80b51a8b27d..9d0cafd9d7fb9a9390f9be31366083ca75201327 100644
--- a/lms/templates/course_modes/choose.html
+++ b/lms/templates/course_modes/choose.html
@@ -2,7 +2,7 @@
 <%inherit file="../main.html" />
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from openedx.core.djangolib.js_utils import js_escaped_string
 from openedx.core.djangolib.markup import HTML, Text
 %>
diff --git a/lms/templates/courseware/accordion.html b/lms/templates/courseware/accordion.html
index 0fd6c9a4c3fb07ee0fe37a62377d656de76b9438..a1a3e1290bff6bb2be83457007b20c4a009bccd5 100644
--- a/lms/templates/courseware/accordion.html
+++ b/lms/templates/courseware/accordion.html
@@ -1,7 +1,7 @@
 <%page expression_filter="h"/>
 <%namespace name='static' file='../static_content.html'/>
 <%!
-    from django.core.urlresolvers import reverse
+    from django.urls import reverse
     from django.utils.translation import ugettext as _
     from django.conf import settings
     from openedx.core.djangolib.markup import HTML, Text
diff --git a/lms/templates/courseware/course_about.html b/lms/templates/courseware/course_about.html
index d9b495df89200307e17091531de446dba37f59b8..6fb28f0084b70fbf42192d155c76670ae85b128c 100644
--- a/lms/templates/courseware/course_about.html
+++ b/lms/templates/courseware/course_about.html
@@ -2,7 +2,7 @@
 <%!
 from django.utils.translation import ugettext as _
 from django.utils.translation import pgettext
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from courseware.courses import get_course_about_section
 from django.conf import settings
 from six import text_type
diff --git a/lms/templates/courseware/course_about_sidebar_header.html b/lms/templates/courseware/course_about_sidebar_header.html
index 520226b75e9bd3385adb18887de7dc5996334707..ee39af0a65ac03a672737ea7fd6d40e02dc5daa6 100644
--- a/lms/templates/courseware/course_about_sidebar_header.html
+++ b/lms/templates/courseware/course_about_sidebar_header.html
@@ -3,7 +3,7 @@
 import urllib
 
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.conf import settings
 from six import text_type
 %>
diff --git a/lms/templates/courseware/course_navigation.html b/lms/templates/courseware/course_navigation.html
index 8babf99804b3276c87ecba86a33e6a4d1b2c9553..141957db04bc0656121e80c10cf44a94500c5dbd 100644
--- a/lms/templates/courseware/course_navigation.html
+++ b/lms/templates/courseware/course_navigation.html
@@ -6,7 +6,7 @@
 <%!
 from courseware.tabs import get_course_tab_list
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 %>
 
diff --git a/lms/templates/courseware/courseware.html b/lms/templates/courseware/courseware.html
index c54a73e2c5c6474a4512f37f593ba6d80fd4b8bb..77ae67c3c04d447d768928e1364d07708e87f242 100644
--- a/lms/templates/courseware/courseware.html
+++ b/lms/templates/courseware/courseware.html
@@ -6,7 +6,7 @@
 import waffle
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 
 from edxnotes.helpers import is_feature_enabled as is_edxnotes_enabled
diff --git a/lms/templates/courseware/gradebook.html b/lms/templates/courseware/gradebook.html
index db1545b8a2e23102c73bdaff921fc92bd8d4fdee..ebf1b5586b6e6dfc7a12fd4e8c8d02dee4db6ea6 100644
--- a/lms/templates/courseware/gradebook.html
+++ b/lms/templates/courseware/gradebook.html
@@ -2,7 +2,7 @@
 <%namespace name='static' file='/static_content.html'/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from six import text_type
 %>
 
diff --git a/lms/templates/courseware/info.html b/lms/templates/courseware/info.html
index 1798241d29f840ece20e5db4e2998e93d9c4f4f1..29067cfecbffcd8318e567d28767ac83bf23dba0 100644
--- a/lms/templates/courseware/info.html
+++ b/lms/templates/courseware/info.html
@@ -6,7 +6,7 @@
 from datetime import datetime
 from pytz import timezone, utc
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 
 from courseware.courses import get_course_info_section, get_course_date_blocks
diff --git a/lms/templates/courseware/program_marketing.html b/lms/templates/courseware/program_marketing.html
index 3103147bd5dc6fe6b895d8069d07f381cdd9c2f8..8889d054ac9a9368905d12329a83eab2ced932e9 100644
--- a/lms/templates/courseware/program_marketing.html
+++ b/lms/templates/courseware/program_marketing.html
@@ -5,7 +5,7 @@
 <%!
 from datetime import datetime
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from mako import exceptions
 
diff --git a/lms/templates/courseware/progress.html b/lms/templates/courseware/progress.html
index f80738146b2bd0238ce01c33d8a7deca2a6289fd..1ea48d838bc47c398cfce5a74452575a58618e76 100644
--- a/lms/templates/courseware/progress.html
+++ b/lms/templates/courseware/progress.html
@@ -7,7 +7,7 @@ from course_modes.models import CourseMode
 from lms.djangoapps.certificates.models import CertificateStatuses
 from django.utils.translation import ugettext as _
 from openedx.core.djangolib.markup import HTML, Text
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.conf import settings
 from django.utils.http import urlquote_plus
 from six import text_type
diff --git a/lms/templates/courseware/tabs.html b/lms/templates/courseware/tabs.html
index bf68f8baad4155bf68ca8137d22c14cef1dc4224..8dd79f22bb56ec163c68580d4611218b54cb5895 100644
--- a/lms/templates/courseware/tabs.html
+++ b/lms/templates/courseware/tabs.html
@@ -3,7 +3,7 @@
 <%namespace name='static' file='/static_content.html'/>
 <%!
  from django.utils.translation import ugettext as _
- from django.core.urlresolvers import reverse
+ from django.urls import reverse
  %>
 <%page args="tab_list, active_page, default_tab, tab_image" expression_filter="h" />
 
diff --git a/lms/templates/dashboard.html b/lms/templates/dashboard.html
index 5369c2e9f27a2f380e02be2a16c1e15d29dc6555..1fc45e6c1ec0fceb13d9af45c695994589289d73 100644
--- a/lms/templates/dashboard.html
+++ b/lms/templates/dashboard.html
@@ -5,7 +5,7 @@
 <%!
 import pytz
 from datetime import datetime, timedelta
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from django.template import RequestContext
 from entitlements.models import CourseEntitlement
diff --git a/lms/templates/dashboard/_dashboard_course_listing.html b/lms/templates/dashboard/_dashboard_course_listing.html
index 17628ff53b2da62b34a18a6e15af0df5e687d697..680bd640c93bc2c4e724391ecd1f9d76b21d7eee 100644
--- a/lms/templates/dashboard/_dashboard_course_listing.html
+++ b/lms/templates/dashboard/_dashboard_course_listing.html
@@ -5,7 +5,7 @@ import urllib
 
 from django.utils.translation import ugettext as _
 from django.utils.translation import ungettext
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from course_modes.models import CourseMode
 from course_modes.helpers import enrollment_mode_display
 from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_string
diff --git a/lms/templates/dashboard/_dashboard_entitlement_actions.html b/lms/templates/dashboard/_dashboard_entitlement_actions.html
index 5316c5364876baaef3eed6c0f73e16de64cd0f15..0c3a61c02877e6d1c78e3eb864504b2616358a21 100644
--- a/lms/templates/dashboard/_dashboard_entitlement_actions.html
+++ b/lms/templates/dashboard/_dashboard_entitlement_actions.html
@@ -2,7 +2,7 @@
 
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 
 <%
diff --git a/lms/templates/dashboard/_dashboard_status_verification.html b/lms/templates/dashboard/_dashboard_status_verification.html
index 8ed8899a8f6cee55b6b1b8c97014e88c7ebde97c..fa7e09c5676951532973aa2fb201e2b7cc821393 100644
--- a/lms/templates/dashboard/_dashboard_status_verification.html
+++ b/lms/templates/dashboard/_dashboard_status_verification.html
@@ -1,7 +1,7 @@
 <%page expression_filter="h"/>
 <%namespace name='static' file='../static_content.html'/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 %>
 
diff --git a/lms/templates/edxnotes/toggle_notes.html b/lms/templates/edxnotes/toggle_notes.html
index 90ef42b2206daac48eafbd3354faadf496aaa871..47533dcee435a3692897ca6b248b8fea3a5f22cf 100644
--- a/lms/templates/edxnotes/toggle_notes.html
+++ b/lms/templates/edxnotes/toggle_notes.html
@@ -1,7 +1,7 @@
 <%page args="course" expression_filter="h"/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_string
 %>
 <%namespace name='static' file='/static_content.html'/>
diff --git a/lms/templates/email_change_successful.html b/lms/templates/email_change_successful.html
index 764e58576f905923d47d86142fc7ec98c3b3f690..b58972785c737df50013e644077b07bd18cdb1f5 100644
--- a/lms/templates/email_change_successful.html
+++ b/lms/templates/email_change_successful.html
@@ -1,7 +1,7 @@
 <%inherit file="main.html" />
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 
 <section class="container activation">
diff --git a/lms/templates/emails/confirm_email_change.txt b/lms/templates/emails/confirm_email_change.txt
index 2890c54f4838f36de03586d39e5d30eed4759f72..8f5df7083e2a47fb0d65bc9486507054724ae7c8 100644
--- a/lms/templates/emails/confirm_email_change.txt
+++ b/lms/templates/emails/confirm_email_change.txt
@@ -1,4 +1,4 @@
-<%! from django.core.urlresolvers import reverse %>
+<%! from django.urls import reverse %>
 <%! from django.utils.translation import ugettext as _ %>
 <%! from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers %>
 <%! from edxmako.shortcuts import render_to_string, marketing_link %>
diff --git a/lms/templates/financial-assistance/financial-assistance.html b/lms/templates/financial-assistance/financial-assistance.html
index c6582ec240e74916ff7ee3fe1abd498ee434624d..3418260d2ac62c8442ddaecc9513d7b306ddcd9d 100644
--- a/lms/templates/financial-assistance/financial-assistance.html
+++ b/lms/templates/financial-assistance/financial-assistance.html
@@ -1,6 +1,6 @@
 <%inherit file="../main.html"/>
 <%
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 
 from edxmako.shortcuts import marketing_link
diff --git a/lms/templates/footer.html b/lms/templates/footer.html
index 743599be27f9fe7c9a110b6964b587f4b2661825..bf76031d26d66e951f121e661ee99c6baf1502be 100644
--- a/lms/templates/footer.html
+++ b/lms/templates/footer.html
@@ -1,7 +1,7 @@
 ## mako
 <%page expression_filter="h"/>
 <%!
-  from django.core.urlresolvers import reverse
+  from django.urls import reverse
   from django.utils.translation import ugettext as _
   from branding.api import get_footer
   from openedx.core.djangoapps.lang_pref.api import footer_language_selector_is_enabled
diff --git a/lms/templates/forgot_password_modal.html b/lms/templates/forgot_password_modal.html
index a18db5db4a1b998d009bfef85a8f349faef4e071..15e6bd362a4d330bd9a4fe37ea25abd2ad0397d7 100644
--- a/lms/templates/forgot_password_modal.html
+++ b/lms/templates/forgot_password_modal.html
@@ -2,7 +2,7 @@
 
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 
 <section id="forgot-password-modal" class="modal" role="dialog" tabindex="-1" aria-label="${_('Password Reset')}">
diff --git a/lms/templates/header/brand.html b/lms/templates/header/brand.html
index c5cd260ea8cf80a4c76f87981b735bce04c04763..2ad7c3d9de40f99c13ec812280bdae2c217ffe20 100644
--- a/lms/templates/header/brand.html
+++ b/lms/templates/header/brand.html
@@ -5,7 +5,7 @@
 <%namespace name='static' file='/static_content.html'/>
 
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 
diff --git a/lms/templates/header/header.html b/lms/templates/header/header.html
index 94cbcb1ca49e40493f4a9db265fa1c00a1eccbb1..82a36cdb18cfcfa5f942f4c62a48dde4ac846aef 100644
--- a/lms/templates/header/header.html
+++ b/lms/templates/header/header.html
@@ -5,7 +5,7 @@
 <%namespace name='static' file='../static_content.html'/>
 <%namespace file='../main.html' import="login_query"/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 
 from lms.djangoapps.ccx.overrides import get_current_ccx
diff --git a/lms/templates/header/navbar-authenticated.html b/lms/templates/header/navbar-authenticated.html
index d4f180d883a21656d40851ba5cb4a36be37c085f..332522828acc310e082d1c8655b9f74b8c78e7e1 100644
--- a/lms/templates/header/navbar-authenticated.html
+++ b/lms/templates/header/navbar-authenticated.html
@@ -5,7 +5,7 @@
 <%namespace name='static' file='../static_content.html'/>
 <%namespace file='../main.html' import="login_query"/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 %>
diff --git a/lms/templates/header/navbar-logo-header.html b/lms/templates/header/navbar-logo-header.html
index 36f729f38b955cee742c66bc04e4b8b0c084ac5e..933e4c25710d58947adac426b9964f59ad7df82e 100644
--- a/lms/templates/header/navbar-logo-header.html
+++ b/lms/templates/header/navbar-logo-header.html
@@ -4,7 +4,7 @@
 
 <%namespace name='static' file='../static_content.html'/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from lms.djangoapps.ccx.overrides import get_current_ccx
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
diff --git a/lms/templates/header/navbar-not-authenticated.html b/lms/templates/header/navbar-not-authenticated.html
index 0d6889c4c52dd6053c4de5b21474f8c7c100ad74..9dbcf2d6af0c11979ba56ced614674a42edf21a1 100644
--- a/lms/templates/header/navbar-not-authenticated.html
+++ b/lms/templates/header/navbar-not-authenticated.html
@@ -6,7 +6,7 @@
 <%namespace file='../main.html' import="login_query"/>
 
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from six import text_type
 %>
diff --git a/lms/templates/header/user_dropdown.html b/lms/templates/header/user_dropdown.html
index 73bb1e8820ffd394298c275c4133a96facb3892e..675ccc320c8b6e70ec9ddae5ac661986787befb1 100644
--- a/lms/templates/header/user_dropdown.html
+++ b/lms/templates/header/user_dropdown.html
@@ -3,7 +3,7 @@
 <%namespace name='static' file='static_content.html'/>
 
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 
 from openedx.core.djangoapps.user_api.accounts.image_helpers import get_profile_image_urls_for_user
diff --git a/lms/templates/help_modal.html b/lms/templates/help_modal.html
index e1a4c34dba026bdd54ac6d1698438aab6534c490..13703d2a43164ee01b3b49beb682aa9f27e5063c 100644
--- a/lms/templates/help_modal.html
+++ b/lms/templates/help_modal.html
@@ -6,7 +6,7 @@ from datetime import datetime
 import pytz
 from django.conf import settings
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from openedx.core.djangolib.js_utils import js_escaped_string
 from openedx.core.djangolib.markup import HTML, Text
 from xmodule.tabs import CourseTabList
diff --git a/lms/templates/index.html b/lms/templates/index.html
index c06fe4f0006cb071ea096b01b7857c6652fd92f8..09c77faf7cef7306cbb3942a758e8654d5e707d5 100644
--- a/lms/templates/index.html
+++ b/lms/templates/index.html
@@ -3,7 +3,7 @@
 <%namespace name='static' file='static_content.html'/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from openedx.core.djangolib.markup import HTML, Text
 %>
diff --git a/lms/templates/instructor/instructor_dashboard_2/add_coupon_modal.html b/lms/templates/instructor/instructor_dashboard_2/add_coupon_modal.html
index 14760bd69bbaf01481b86fe6e917f3827ae2aecd..28008c6834b8c2511191c085ab96a609c4505d10 100644
--- a/lms/templates/instructor/instructor_dashboard_2/add_coupon_modal.html
+++ b/lms/templates/instructor/instructor_dashboard_2/add_coupon_modal.html
@@ -1,7 +1,7 @@
 <%page args="section_data" expression_filter="h"/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 <section id="add-coupon-modal" class="modal" role="dialog" tabindex="-1" aria-labelledby="header-coupon-code">
     <h2 id="header-coupon-code" class="hd hd-2">${_("Add Coupon Code")}</h2>
diff --git a/lms/templates/instructor/instructor_dashboard_2/edit_coupon_modal.html b/lms/templates/instructor/instructor_dashboard_2/edit_coupon_modal.html
index e59d36086365cc6555f0e9bd14a84e587c9d55e7..38d11f282c24f16fb7e9e0cf624c723699b6a04d 100644
--- a/lms/templates/instructor/instructor_dashboard_2/edit_coupon_modal.html
+++ b/lms/templates/instructor/instructor_dashboard_2/edit_coupon_modal.html
@@ -1,7 +1,7 @@
 <%page args="section_data" expression_filter="h"/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 <section id="edit-coupon-modal" class="modal" role="dialog" tabindex="-1" aria-labelledby="header-edit-coupon-code">
     <h2 id="header-edit-coupon-code" class="hd hd-2">${_("Edit Coupon Code")}</h2>
diff --git a/lms/templates/instructor/instructor_dashboard_2/generate_registarion_codes_modal.html b/lms/templates/instructor/instructor_dashboard_2/generate_registarion_codes_modal.html
index 1c2120be78ea94e98be1234a9d5dbf7d16cf5b49..4c81c080dec68a05a9c8f0b6ae2549a4a9785ad4 100644
--- a/lms/templates/instructor/instructor_dashboard_2/generate_registarion_codes_modal.html
+++ b/lms/templates/instructor/instructor_dashboard_2/generate_registarion_codes_modal.html
@@ -1,7 +1,7 @@
 <%page args="section_data" expression_filter="h"/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 <section id="registration_code_generation_modal" class="modal" role="dialog" tabindex="-1" aria-labelledby="header-registration-code">
     <h2 id="header-registration-code" class="hd hd-2">${_("Generate Registration Code Modal")}</h2>
diff --git a/lms/templates/instructor/instructor_dashboard_2/instructor_dashboard_2.html b/lms/templates/instructor/instructor_dashboard_2/instructor_dashboard_2.html
index bf0f6e83f1c5861cac621a5a3b6e4570bbbe4709..a42547bcc661799166445b964e493e204b65e5a5 100644
--- a/lms/templates/instructor/instructor_dashboard_2/instructor_dashboard_2.html
+++ b/lms/templates/instructor/instructor_dashboard_2/instructor_dashboard_2.html
@@ -4,7 +4,7 @@
 <%def name="online_help_token()"><% return "instructor" %></%def>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from openedx.core.djangolib.markup import HTML
 %>
 <%block name="bodyclass">view-in-course view-instructordash</%block>
diff --git a/lms/templates/instructor/instructor_dashboard_2/invalidate_registration_code_modal.html b/lms/templates/instructor/instructor_dashboard_2/invalidate_registration_code_modal.html
index bb5a5d6a3ec24956fc3de81e9ea1cd22548fc91f..3275681faa4010ebbcf41e810c8ad82500f6e348 100644
--- a/lms/templates/instructor/instructor_dashboard_2/invalidate_registration_code_modal.html
+++ b/lms/templates/instructor/instructor_dashboard_2/invalidate_registration_code_modal.html
@@ -1,6 +1,6 @@
 <%page args="section_data" expression_filter="h"/>
 <%! from django.utils.translation import ugettext as _ %>
-<%! from django.core.urlresolvers import reverse %>
+<%! from django.urls import reverse %>
 <section id="invalidate_registration_code_modal" class="modal" role="dialog" tabindex="-1" aria-labelledby="header-enrollment-code-status">
     <h2 id="header-enrollment-code-status" class="hd hd-2">${_("Enrollment Code Status")}</h2>
   <div class="inner-wrapper">
diff --git a/lms/templates/instructor/instructor_dashboard_2/set_course_mode_price_modal.html b/lms/templates/instructor/instructor_dashboard_2/set_course_mode_price_modal.html
index 928102819c34eb53c82e805bbe2a9b743dc0735d..0b30fec6a3d436c29544531ac5a8bd7e4cbbe22c 100644
--- a/lms/templates/instructor/instructor_dashboard_2/set_course_mode_price_modal.html
+++ b/lms/templates/instructor/instructor_dashboard_2/set_course_mode_price_modal.html
@@ -1,7 +1,7 @@
 <%page args="section_data" expression_filter="h"/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 <section id="set-course-mode-price-modal" class="modal" role="dialog" tabindex="-1" aria-labelledby="header-course-price">
     <h2 id="header-course-price" class="hd hd-2">${_("Set Course Mode Price")}</h2>
diff --git a/lms/templates/login-sidebar.html b/lms/templates/login-sidebar.html
index e6c28506934295f5e4dc98df3e3348c0618502f0..9577724ec6b0720bffb1d0b1e7cf0cfe4c34f008 100644
--- a/lms/templates/login-sidebar.html
+++ b/lms/templates/login-sidebar.html
@@ -1,6 +1,6 @@
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 
 <header>
diff --git a/lms/templates/login.html b/lms/templates/login.html
index bd8060685f41265d44c63e9b34a72fd549e3f818..ad273585300049500f1ef3d53f292d1121f54875 100644
--- a/lms/templates/login.html
+++ b/lms/templates/login.html
@@ -2,7 +2,7 @@
 <%namespace name='static' file='static_content.html'/>
 
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 import third_party_auth
 from third_party_auth import provider, pipeline
diff --git a/lms/templates/main.html b/lms/templates/main.html
index e35290e5621864cfc16698758ff1edac3ca3a61d..019d83843523d1b3260658a84715abf30739c229 100644
--- a/lms/templates/main.html
+++ b/lms/templates/main.html
@@ -14,7 +14,7 @@
 <% online_help_token = self.online_help_token() if hasattr(self, 'online_help_token') else None %>
 <%!
 from branding import api as branding_api
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.http import urlquote_plus
 from django.utils.translation import ugettext as _
 from django.utils.translation import get_language_bidi
diff --git a/lms/templates/manage_user_standing.html b/lms/templates/manage_user_standing.html
index 0e096504b5eaa7122ef7652936b1139a7e73a9af..fed5fd754190952892e3407ad0e2b3f9651d2740 100644
--- a/lms/templates/manage_user_standing.html
+++ b/lms/templates/manage_user_standing.html
@@ -1,7 +1,7 @@
 <%inherit file="main.html" />
 
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 %>
 
diff --git a/lms/templates/modal/_modal-settings-language.html b/lms/templates/modal/_modal-settings-language.html
index 0a3055c7ed2aa664ccf92c63fafbf53b9a6fff72..8c50d0e3ef6af8b63b39d9d08e31f6e1413846eb 100644
--- a/lms/templates/modal/_modal-settings-language.html
+++ b/lms/templates/modal/_modal-settings-language.html
@@ -1,7 +1,7 @@
 <%namespace name='static' file='../static_content.html'/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 
 <section id="change_language" class="modal modal-settings-language" aria-hidden="true">
diff --git a/lms/templates/navigation/bootstrap/navbar-authenticated.html b/lms/templates/navigation/bootstrap/navbar-authenticated.html
index 6cf6f7e46efc60b3f89f48277f2fd56fea690d67..1d9c27a030406eca95df0616c2c0c4fb5b35a524 100644
--- a/lms/templates/navigation/bootstrap/navbar-authenticated.html
+++ b/lms/templates/navigation/bootstrap/navbar-authenticated.html
@@ -5,7 +5,7 @@
 <%namespace name='static' file='../../static_content.html'/>
 <%namespace file='../../main.html' import="login_query"/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 %>
 
diff --git a/lms/templates/navigation/navbar-authenticated.html b/lms/templates/navigation/navbar-authenticated.html
index b62b36d7d3c8ce824f5d34a72743fa4f9bc3e53e..8c4846ab1625fa4a63c2db32e50e0beb4dc31c10 100644
--- a/lms/templates/navigation/navbar-authenticated.html
+++ b/lms/templates/navigation/navbar-authenticated.html
@@ -5,7 +5,7 @@
 <%namespace name='static' file='../static_content.html'/>
 <%namespace file='../main.html' import="login_query"/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 %>
 
diff --git a/lms/templates/navigation/navbar-logo-header.html b/lms/templates/navigation/navbar-logo-header.html
index 49aa321a98c2228822e3bca0bcce5511a3b7c6ac..487cac1fa7f1c61259abb902ce64f93c0ef2ecbf 100644
--- a/lms/templates/navigation/navbar-logo-header.html
+++ b/lms/templates/navigation/navbar-logo-header.html
@@ -4,7 +4,7 @@
 
 <%namespace name='static' file='../static_content.html'/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from lms.djangoapps.ccx.overrides import get_current_ccx
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
diff --git a/lms/templates/navigation/navbar-not-authenticated.html b/lms/templates/navigation/navbar-not-authenticated.html
index f6c3828e7681cf2222df14e1e39276c6895bd69b..b88c8866160217e8539db9ecd3c19e000abe1bcf 100644
--- a/lms/templates/navigation/navbar-not-authenticated.html
+++ b/lms/templates/navigation/navbar-not-authenticated.html
@@ -5,7 +5,7 @@
 <%namespace name='static' file='../static_content.html'/>
 <%namespace file='../main.html' import="login_query"/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from six import text_type
 %>
diff --git a/lms/templates/navigation/navigation.html b/lms/templates/navigation/navigation.html
index fa2202330f4289f4c964beede09166260079e3ce..2e399419a99592ff4d4f4a2a64f62ccdefa1c6bd 100644
--- a/lms/templates/navigation/navigation.html
+++ b/lms/templates/navigation/navigation.html
@@ -9,7 +9,7 @@
 <%namespace name='static' file='../static_content.html'/>
 <%namespace file='../main.html' import="login_query"/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 
 from lms.djangoapps.ccx.overrides import get_current_ccx
diff --git a/lms/templates/notes.html b/lms/templates/notes.html
index 137a85f902814832fbcc09ebbdd592628573e4b8..de7db780b138393337311def337d320d7a6fb1d9 100644
--- a/lms/templates/notes.html
+++ b/lms/templates/notes.html
@@ -5,7 +5,7 @@ ${static.css(group='style-vendor-tinymce-skin', raw=True)}
 ${static.css(group='style-xmodule-annotations', raw=True)}
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 
 <%block name="headextra">
diff --git a/lms/templates/provider/authorize.html b/lms/templates/provider/authorize.html
index b6baa0fd0f918d3b42505e3f6fee5a0dd02e55c3..8387c21b20b98135e69a4e1bb18f2ea6a218e4c3 100644
--- a/lms/templates/provider/authorize.html
+++ b/lms/templates/provider/authorize.html
@@ -5,7 +5,7 @@
 <%!
 from django.utils.translation import ugettext as _
 from provider.templatetags.scope import scopes
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from openedx.core.djangolib.markup import HTML, Text
 %>
 
diff --git a/lms/templates/register-shib.html b/lms/templates/register-shib.html
index 5d89b72ffa10d14baefe3e139e0b7bdd68605a55..9ec866e1180c0e114dc42653093c44db44557bdf 100644
--- a/lms/templates/register-shib.html
+++ b/lms/templates/register-shib.html
@@ -3,7 +3,7 @@
 <%namespace file='main.html' import="login_query"/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils import html
 from django_countries import countries
 from student.models import UserProfile
diff --git a/lms/templates/register-sidebar.html b/lms/templates/register-sidebar.html
index 0482decd262229e4513bdf1de51377a48ba67ad4..a3a43cfb33ab2800de8a2afa66722f79f685017e 100644
--- a/lms/templates/register-sidebar.html
+++ b/lms/templates/register-sidebar.html
@@ -1,7 +1,7 @@
 <%page expression_filter="h"/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 <%namespace file='main.html' import="login_query"/>
 <%namespace name='static' file='static_content.html'/>
diff --git a/lms/templates/register.html b/lms/templates/register.html
index 1eaff34fe3ab1199e2018b2cae2c8354641e1cc6..b95c83304c1009e5fa02e0b803d738efa0cc82c3 100644
--- a/lms/templates/register.html
+++ b/lms/templates/register.html
@@ -3,7 +3,7 @@
 <%namespace file='main.html' import="login_query"/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils import html
 from django_countries import countries
 from student.models import UserProfile
diff --git a/lms/templates/resubscribe.html b/lms/templates/resubscribe.html
index e20d4ca5ca9c01d7a8532340c6b1e021455e25ab..ac924d57ffbbc167dcaafe657baf63104191af5b 100644
--- a/lms/templates/resubscribe.html
+++ b/lms/templates/resubscribe.html
@@ -1,5 +1,5 @@
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from django.conf import settings
 %>
diff --git a/lms/templates/shoppingcart/billing_details.html b/lms/templates/shoppingcart/billing_details.html
index bb1620d331c46e71ba2fdde610c1421c5dbc2459..5b6de5d66a8c9cd3269fdeb51b2cbe0ce146df5a 100644
--- a/lms/templates/shoppingcart/billing_details.html
+++ b/lms/templates/shoppingcart/billing_details.html
@@ -1,7 +1,7 @@
 <%inherit file="shopping_cart_flow.html" />
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 
 <%block name="billing_details_highlight"><li class="active" >${_('Billing Details')}</li></%block>
diff --git a/lms/templates/shoppingcart/download_report.html b/lms/templates/shoppingcart/download_report.html
index 6e855a6ddca3efe8753a6422d1c37a373aed4dd2..83094091b110fdc0ff9bfa3692a27e823a18c956 100644
--- a/lms/templates/shoppingcart/download_report.html
+++ b/lms/templates/shoppingcart/download_report.html
@@ -1,7 +1,7 @@
 <%inherit file="../main.html" />
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.conf import settings
 %>
 
diff --git a/lms/templates/shoppingcart/error.html b/lms/templates/shoppingcart/error.html
index e0fb8a35466c81215b2c08180656da1b55489043..042fbf406a4423430f112feef5204d496b7dc0d6 100644
--- a/lms/templates/shoppingcart/error.html
+++ b/lms/templates/shoppingcart/error.html
@@ -1,7 +1,7 @@
 <%inherit file="../main.html" />
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 <%block name="pagetitle">${_("Payment Error")}</%block>
 
diff --git a/lms/templates/shoppingcart/receipt.html b/lms/templates/shoppingcart/receipt.html
index 4ae016b77355f4fc6af527b3b3e97d39061565f5..c0a0870ebc4e7b5bfb4f7475d66386caaed17a9c 100644
--- a/lms/templates/shoppingcart/receipt.html
+++ b/lms/templates/shoppingcart/receipt.html
@@ -4,7 +4,7 @@
 <%!
 from django.utils.translation import ugettext as _
 from django.utils.translation import ungettext
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from markupsafe import escape
 from openedx.core.lib.courses import course_image_url
 %>
diff --git a/lms/templates/shoppingcart/registration_code_receipt.html b/lms/templates/shoppingcart/registration_code_receipt.html
index 19943a154ce5924f4b9962573e522adcc12c375b..d1cf6fd44b3b4e9c032fe4d8ec7f6f30331d7fc0 100644
--- a/lms/templates/shoppingcart/registration_code_receipt.html
+++ b/lms/templates/shoppingcart/registration_code_receipt.html
@@ -1,6 +1,6 @@
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from six import text_type
 from openedx.core.lib.courses import course_image_url
 from openedx.features.course_experience import course_home_url_name
diff --git a/lms/templates/shoppingcart/registration_code_redemption.html b/lms/templates/shoppingcart/registration_code_redemption.html
index 266db3b9550416e5a250ddbdb2c59f13bed277e2..6ea7a9efb11fd2d075f332a4693190940d128107 100644
--- a/lms/templates/shoppingcart/registration_code_redemption.html
+++ b/lms/templates/shoppingcart/registration_code_redemption.html
@@ -1,6 +1,6 @@
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from openedx.core.lib.courses import course_image_url
 %>
 <%inherit file="../main.html" />
diff --git a/lms/templates/shoppingcart/shopping_cart.html b/lms/templates/shoppingcart/shopping_cart.html
index edeeb1d36d81a1839313ceaabb455db85c69315f..2dc0ec793e4fc1b6a639f646fad21ddb4797d60a 100644
--- a/lms/templates/shoppingcart/shopping_cart.html
+++ b/lms/templates/shoppingcart/shopping_cart.html
@@ -2,7 +2,7 @@
 <%block name="review_highlight">class="active"</%block>
 
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from edxmako.shortcuts import marketing_link
 from django.utils.translation import ugettext as _
 from django.utils.translation import ungettext
diff --git a/lms/templates/signup_modal.html b/lms/templates/signup_modal.html
index 4fa8da2b186444ea73b349565af258ff20e47087..0b5cc19f1bd264a14bdcf3183b1f94efef79e44d 100644
--- a/lms/templates/signup_modal.html
+++ b/lms/templates/signup_modal.html
@@ -1,7 +1,7 @@
 <%namespace name='static' file='static_content.html'/>
 <%!
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django_countries import countries
 from student.models import UserProfile
 from datetime import date
diff --git a/lms/templates/student_account/account_settings.html b/lms/templates/student_account/account_settings.html
index 831ba7e7559088635c0fec8245ce06c2d9eac59a..ffc83b1f94ba64b9a7d4ba5608fe133e2c2d4440 100644
--- a/lms/templates/student_account/account_settings.html
+++ b/lms/templates/student_account/account_settings.html
@@ -3,7 +3,7 @@
 <%!
 import json
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.conf import settings
 from django.utils.translation import ugettext as _
 
diff --git a/lms/templates/support/certificates.html b/lms/templates/support/certificates.html
index 8022e6ccd807f161a237dcadb1054b35ee85a918..29aa102f93df1ee9158a627c7c3e15218189af59 100644
--- a/lms/templates/support/certificates.html
+++ b/lms/templates/support/certificates.html
@@ -1,5 +1,5 @@
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 %>
 <%namespace name='static' file='../static_content.html'/>
diff --git a/lms/templates/support/contact_us.html b/lms/templates/support/contact_us.html
index 9f8ce914a990a1966ef4433bb70bf6e69427eb90..dbdb93171fe56433db59b227f6bd518b989c559f 100644
--- a/lms/templates/support/contact_us.html
+++ b/lms/templates/support/contact_us.html
@@ -1,7 +1,7 @@
 <%page expression_filter="h"/>
 
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 
 from openedx.core.djangolib.js_utils import js_escaped_string, dump_js_escaped_json
diff --git a/lms/templates/support/index.html b/lms/templates/support/index.html
index ec25d7c175c3bb531320659cccd891363a92ce73..b270deb22f157c020bd3a6f772bb55bf895f7260 100644
--- a/lms/templates/support/index.html
+++ b/lms/templates/support/index.html
@@ -1,6 +1,6 @@
 ## mako
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 %>
 <%namespace name='static' file='../static_content.html'/>
diff --git a/lms/templates/survey/survey.html b/lms/templates/survey/survey.html
index 04f7a1d8155906ab73cf8a32afb02e2d78055fcf..be9c5a0f810ab11f3aa95f044f305a457755a9ec 100644
--- a/lms/templates/survey/survey.html
+++ b/lms/templates/survey/survey.html
@@ -3,7 +3,7 @@
 <%namespace name='static' file='../static_content.html'/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils import html
 from openedx.core.djangolib.markup import Text, HTML
 %>
diff --git a/lms/templates/sysadmin_dashboard.html b/lms/templates/sysadmin_dashboard.html
index 043522e899089e456bf5f42d85f76d7f8ac926f9..90d3a554e230dd78bfc0c6d6a3660a671cc789f8 100644
--- a/lms/templates/sysadmin_dashboard.html
+++ b/lms/templates/sysadmin_dashboard.html
@@ -1,7 +1,7 @@
 <%inherit file="/main.html" />
 <%namespace name='static' file='/static_content.html'/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 %>
 
diff --git a/lms/templates/sysadmin_dashboard_gitlogs.html b/lms/templates/sysadmin_dashboard_gitlogs.html
index df1f571553a2a09a328d3622e7409a30c6e35d3a..19ee0304412f9181b902f99d9303aee0d35d91c1 100644
--- a/lms/templates/sysadmin_dashboard_gitlogs.html
+++ b/lms/templates/sysadmin_dashboard_gitlogs.html
@@ -1,6 +1,6 @@
 <%inherit file="/main.html" />
 <%!
-    from django.core.urlresolvers import reverse
+    from django.urls import reverse
     from django.utils.translation import ugettext as _
     from django.utils.timezone import utc as UTC
     from util.date_utils import get_time_display, DEFAULT_DATE_TIME_FORMAT
diff --git a/lms/templates/unsubscribe.html b/lms/templates/unsubscribe.html
index b065476ac5c7f20ea6bbb1b175c0b5d2335e2d2c..f4db2a39def4229d451e6149c98d3b896ebfeee3 100644
--- a/lms/templates/unsubscribe.html
+++ b/lms/templates/unsubscribe.html
@@ -1,7 +1,7 @@
 <%page expression_filter="h"/>
 <%!
 from openedx.core.djangolib.markup import HTML, Text
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from django.conf import settings
 %>
diff --git a/lms/templates/user_dropdown.html b/lms/templates/user_dropdown.html
index 1deddfac924cfdddde13db1b330d3431a282ff50..43b2948ba97f152d0321a4a17a58d0a99014603c 100644
--- a/lms/templates/user_dropdown.html
+++ b/lms/templates/user_dropdown.html
@@ -3,7 +3,7 @@
 <%namespace name='static' file='static_content.html'/>
 
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 
 from openedx.core.djangoapps.user_api.accounts.image_helpers import get_profile_image_urls_for_user
diff --git a/lms/templates/verify_student/reverify_not_allowed.html b/lms/templates/verify_student/reverify_not_allowed.html
index a5d4b2c39f5ca943961b66203b75e5efe84e99f4..019ce41661907c31d2b14536d76c790e31c74576 100644
--- a/lms/templates/verify_student/reverify_not_allowed.html
+++ b/lms/templates/verify_student/reverify_not_allowed.html
@@ -1,7 +1,7 @@
 <%page expression_filter="h"/>
 <%!
     from django.utils.translation import ugettext as _
-    from django.core.urlresolvers import reverse
+    from django.urls import reverse
 %>
 
 <%inherit file="../main.html" />
diff --git a/lms/templates/wiki/includes/article_menu.html b/lms/templates/wiki/includes/article_menu.html
index a6d86084573c8a621ca4304a38ee47538dc8ef8a..0c5fd0d0342043c2d6361f61046190a1f4e9fc03 100644
--- a/lms/templates/wiki/includes/article_menu.html
+++ b/lms/templates/wiki/includes/article_menu.html
@@ -1,7 +1,7 @@
 ## mako
 <%page expression_filter="h"/>
 <%!
-  from django.core.urlresolvers import reverse
+  from django.urls import reverse
   from django.utils.translation import ugettext as _
   from openedx.core.djangolib.markup import HTML, Text
   from wiki.core.permissions import can_change_permissions
diff --git a/lms/templates/wiki/includes/breadcrumbs.html b/lms/templates/wiki/includes/breadcrumbs.html
index 6673a2c02952bc8fccc5a1e74981726e7bed43e2..3746d57ecc34c377a981f167a0b00501cba2555b 100644
--- a/lms/templates/wiki/includes/breadcrumbs.html
+++ b/lms/templates/wiki/includes/breadcrumbs.html
@@ -1,7 +1,7 @@
 ## mako
 <%page expression_filter="h"/>
 <%!
-  from django.core.urlresolvers import reverse
+  from django.urls import reverse
   from django.utils.translation import ugettext as _
 %>
 
diff --git a/lms/tests.py b/lms/tests.py
index bbd44904034b6bfb9acfdc4c5621a34d57480f71..49e08e99e9551f22af36f4383091ab691b4ebebc 100644
--- a/lms/tests.py
+++ b/lms/tests.py
@@ -3,7 +3,7 @@
 import logging
 import mimetypes
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from mock import patch
 from six import text_type
diff --git a/openedx/core/djangoapps/ace_common/template_context.py b/openedx/core/djangoapps/ace_common/template_context.py
index 7ae2769823af9c415d8dac0775e64cb913ff5029..8a255e9df55158564f5ec3a67a68d32be614a1e3 100644
--- a/openedx/core/djangoapps/ace_common/template_context.py
+++ b/openedx/core/djangoapps/ace_common/template_context.py
@@ -2,7 +2,7 @@
 Context dictionary for templates that use the ace_common base template.
 """
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from edxmako.shortcuts import marketing_link
 from openedx.core.djangoapps.theming.helpers import get_config_value_from_site_or_settings
diff --git a/openedx/core/djangoapps/api_admin/admin.py b/openedx/core/djangoapps/api_admin/admin.py
index 45add91f45d5f21df9ce7ad490656eb8df02c94b..c004449d39a45178f57e8df53ba4374039a48f14 100644
--- a/openedx/core/djangoapps/api_admin/admin.py
+++ b/openedx/core/djangoapps/api_admin/admin.py
@@ -1,7 +1,7 @@
 """Admin views for API managment."""
 from config_models.admin import ConfigurationModelAdmin
 from django.contrib import admin
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 
 from openedx.core.djangoapps.api_admin.models import ApiAccessConfig, ApiAccessRequest
diff --git a/openedx/core/djangoapps/api_admin/decorators.py b/openedx/core/djangoapps/api_admin/decorators.py
index 089f2cf2d299744b4e36e96204de6f70314909c3..ebabcd89e890a3acc5d30ebde0bd110bfcffc2ea 100644
--- a/openedx/core/djangoapps/api_admin/decorators.py
+++ b/openedx/core/djangoapps/api_admin/decorators.py
@@ -1,7 +1,7 @@
 """Decorators for API access management."""
 from functools import wraps
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import HttpResponseNotFound
 from django.shortcuts import redirect
 
diff --git a/openedx/core/djangoapps/api_admin/models.py b/openedx/core/djangoapps/api_admin/models.py
index 94666e345d4388a2089ee96d2514007af01f5341..7e71564ab286ba2033fbc71a7c4c1c0bc647be30 100644
--- a/openedx/core/djangoapps/api_admin/models.py
+++ b/openedx/core/djangoapps/api_admin/models.py
@@ -8,7 +8,7 @@ from django.conf import settings
 from django.contrib.auth.models import User
 from django.contrib.sites.models import Site
 from django.core.mail import send_mail
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import models
 from django.db.models.signals import post_save, pre_save
 from django.dispatch import receiver
diff --git a/openedx/core/djangoapps/api_admin/tests/test_views.py b/openedx/core/djangoapps/api_admin/tests/test_views.py
index 7e86f63fe878a11e8e44060c5fff8fcb9cdcc2d2..2b818238a9341e7be81ac04fc64a11b7b8ac7d96 100644
--- a/openedx/core/djangoapps/api_admin/tests/test_views.py
+++ b/openedx/core/djangoapps/api_admin/tests/test_views.py
@@ -5,7 +5,7 @@ import json
 import ddt
 import httpretty
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from django.test.utils import override_settings
 from oauth2_provider.models import get_application_model
diff --git a/openedx/core/djangoapps/api_admin/views.py b/openedx/core/djangoapps/api_admin/views.py
index ca8fb2390c75d1fcd4808bca4bb12fd62ab9b8f0..7dfa37199cda1eb91cb574aefb5f531c1e7b1f16 100644
--- a/openedx/core/djangoapps/api_admin/views.py
+++ b/openedx/core/djangoapps/api_admin/views.py
@@ -3,7 +3,7 @@ import logging
 
 from django.conf import settings
 from django.contrib.sites.shortcuts import get_current_site
-from django.core.urlresolvers import reverse, reverse_lazy
+from django.urls import reverse, reverse_lazy
 from django.http.response import JsonResponse
 from django.shortcuts import redirect
 from django.views.generic import View
diff --git a/openedx/core/djangoapps/api_admin/widgets.py b/openedx/core/djangoapps/api_admin/widgets.py
index 6eb031000ef9588b6cd287739a9470a79811fef3..ae50044af41eeb6f98a76dfed8e026a156863c30 100644
--- a/openedx/core/djangoapps/api_admin/widgets.py
+++ b/openedx/core/djangoapps/api_admin/widgets.py
@@ -2,7 +2,7 @@
 
 import django
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.forms.utils import flatatt
 from django.forms.widgets import CheckboxInput
 from django.utils.encoding import force_text
diff --git a/openedx/core/djangoapps/auth_exchange/tests/test_views.py b/openedx/core/djangoapps/auth_exchange/tests/test_views.py
index 6448c7ffd98762848c626f02f3a513c379c139e3..f9ce0ab76020fecfeb1321eeb6c2e839098c4c5e 100644
--- a/openedx/core/djangoapps/auth_exchange/tests/test_views.py
+++ b/openedx/core/djangoapps/auth_exchange/tests/test_views.py
@@ -11,7 +11,7 @@ import unittest
 
 import ddt
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 import httpretty
 import provider.constants
diff --git a/openedx/core/djangoapps/bookmarks/tests/test_views.py b/openedx/core/djangoapps/bookmarks/tests/test_views.py
index 5d9ef55d43c096423ae2800f89d2f4824e8dd143..b7b260b83983791f4969adf5343662f13832bb5b 100644
--- a/openedx/core/djangoapps/bookmarks/tests/test_views.py
+++ b/openedx/core/djangoapps/bookmarks/tests/test_views.py
@@ -7,7 +7,7 @@ import urllib
 import ddt
 import pytest
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from mock import patch
 from nose.plugins.attrib import attr
 from rest_framework.test import APIClient
diff --git a/openedx/core/djangoapps/cache_toolbox/tests/test_middleware.py b/openedx/core/djangoapps/cache_toolbox/tests/test_middleware.py
index adef0877f99d185240f3f738425f1e899a61c745..04f77e6204afa9c548522f3246fa3dc010e7bd17 100644
--- a/openedx/core/djangoapps/cache_toolbox/tests/test_middleware.py
+++ b/openedx/core/djangoapps/cache_toolbox/tests/test_middleware.py
@@ -1,6 +1,6 @@
 """Tests for cached authentication middleware."""
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from mock import patch
 
diff --git a/openedx/core/djangoapps/cors_csrf/tests/test_views.py b/openedx/core/djangoapps/cors_csrf/tests/test_views.py
index 29782b7386948c512f4f45acf4ffd943f3099852..278991fd2ab3fb415ed5faca7b125e305c1d86ca 100644
--- a/openedx/core/djangoapps/cors_csrf/tests/test_views.py
+++ b/openedx/core/djangoapps/cors_csrf/tests/test_views.py
@@ -4,7 +4,7 @@ import json
 import unittest
 
 from django.conf import settings
-from django.core.urlresolvers import NoReverseMatch, reverse
+from django.urls import NoReverseMatch, reverse
 from django.test import TestCase
 
 import ddt
diff --git a/openedx/core/djangoapps/course_groups/views.py b/openedx/core/djangoapps/course_groups/views.py
index d89db702577f9ade706bebee1013b1f163b201c3..da9f65612c49c069df6bcf32c66fd92ae9a445bb 100644
--- a/openedx/core/djangoapps/course_groups/views.py
+++ b/openedx/core/djangoapps/course_groups/views.py
@@ -9,7 +9,7 @@ from django.contrib.auth.decorators import login_required
 from django.contrib.auth.models import User
 from django.core.exceptions import ValidationError
 from django.core.paginator import EmptyPage, Paginator
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import transaction
 from django.http import Http404, HttpResponseBadRequest
 from django.utils.translation import ugettext
diff --git a/openedx/core/djangoapps/credit/email_utils.py b/openedx/core/djangoapps/credit/email_utils.py
index a674e3edb82ece33b6a3f535be53c2740fb9a9aa..fc5108d96ba14afb7b4c26972951c2624a2b5707 100644
--- a/openedx/core/djangoapps/credit/email_utils.py
+++ b/openedx/core/djangoapps/credit/email_utils.py
@@ -15,7 +15,7 @@ from django.contrib.auth.models import User
 from django.contrib.staticfiles import finders
 from django.core.cache import cache
 from django.core.mail import EmailMessage, SafeMIMEText
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 
 from edxmako.shortcuts import render_to_string
diff --git a/openedx/core/djangoapps/credit/tests/test_views.py b/openedx/core/djangoapps/credit/tests/test_views.py
index c6165da6a432b74e2cde566c99ed103871d735ff..a61f80e0541bdb64c33eee4798c1f444d9ca8218 100644
--- a/openedx/core/djangoapps/credit/tests/test_views.py
+++ b/openedx/core/djangoapps/credit/tests/test_views.py
@@ -12,7 +12,7 @@ import json
 import ddt
 import pytz
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase, Client
 from django.test.utils import override_settings
 from edx_oauth2_provider.tests.factories import AccessTokenFactory, ClientFactory
diff --git a/openedx/core/djangoapps/embargo/middleware.py b/openedx/core/djangoapps/embargo/middleware.py
index 293000f7314f905bc86ce91eb1bb57b7d804724f..1b0f7f194c28c62548fc452beaaf1d5700f9553d 100644
--- a/openedx/core/djangoapps/embargo/middleware.py
+++ b/openedx/core/djangoapps/embargo/middleware.py
@@ -30,7 +30,7 @@ import re
 
 from django.conf import settings
 from django.core.exceptions import MiddlewareNotUsed
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.shortcuts import redirect
 from ipware.ip import get_ip
 
diff --git a/openedx/core/djangoapps/embargo/models.py b/openedx/core/djangoapps/embargo/models.py
index 54f9eead64f4a821b0d7cc81e96eb1b63bfb0f43..4ee8679813e8e432515702a1360217d8402232c2 100644
--- a/openedx/core/djangoapps/embargo/models.py
+++ b/openedx/core/djangoapps/embargo/models.py
@@ -17,7 +17,7 @@ import logging
 import ipaddr
 from config_models.models import ConfigurationModel
 from django.core.cache import cache
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db import models
 from django.db.models.signals import post_delete, post_save
 from django.utils.translation import ugettext as _
diff --git a/openedx/core/djangoapps/embargo/test_utils.py b/openedx/core/djangoapps/embargo/test_utils.py
index 5f5e825c218c9938a74420376c57c6a16b783e6e..57f70399730ed783348c6666324a5e7bb6380843 100644
--- a/openedx/core/djangoapps/embargo/test_utils.py
+++ b/openedx/core/djangoapps/embargo/test_utils.py
@@ -3,7 +3,7 @@ import contextlib
 
 import mock
 from django.core.cache import cache
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 import pygeoip
 
diff --git a/openedx/core/djangoapps/embargo/tests/test_middleware.py b/openedx/core/djangoapps/embargo/tests/test_middleware.py
index d3d7f2d63684b2f244e5f44fdd63e62511ea1062..83563f0a101912c7d0826c1c25e18138afe1efe7 100644
--- a/openedx/core/djangoapps/embargo/tests/test_middleware.py
+++ b/openedx/core/djangoapps/embargo/tests/test_middleware.py
@@ -6,7 +6,7 @@ from mock import patch
 from nose.plugins.attrib import attr
 import ddt
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.conf import settings
 from django.core.cache import cache as django_cache
 
diff --git a/openedx/core/djangoapps/embargo/tests/test_views.py b/openedx/core/djangoapps/embargo/tests/test_views.py
index e5b9afa89ac91432713b59ed4cc51625904d7b0e..f4114065d334e31b59120e8137ebcacf59f66a14 100644
--- a/openedx/core/djangoapps/embargo/tests/test_views.py
+++ b/openedx/core/djangoapps/embargo/tests/test_views.py
@@ -4,7 +4,7 @@ import ddt
 import mock
 import pygeoip
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.conf import settings
 from mock import patch
 
diff --git a/openedx/core/djangoapps/external_auth/login_and_register.py b/openedx/core/djangoapps/external_auth/login_and_register.py
index 4d5082f253d26d0ad8236025025b8b13833fb596..0dec4ba201191a5a00384caf354f9390576e2419 100644
--- a/openedx/core/djangoapps/external_auth/login_and_register.py
+++ b/openedx/core/djangoapps/external_auth/login_and_register.py
@@ -5,7 +5,7 @@ This module contains legacy code originally from `student.views`.
 import re
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.shortcuts import redirect
 from opaque_keys.edx.keys import CourseKey
 from six import text_type
diff --git a/openedx/core/djangoapps/external_auth/tests/test_openid_provider.py b/openedx/core/djangoapps/external_auth/tests/test_openid_provider.py
index 174715bfcea6464b8b12c2a3a69bc024c2321484..734ba525592f93413e3fed080c32881dad37a4a1 100644
--- a/openedx/core/djangoapps/external_auth/tests/test_openid_provider.py
+++ b/openedx/core/djangoapps/external_auth/tests/test_openid_provider.py
@@ -12,7 +12,7 @@ from django.conf import settings
 from django.test import TestCase, LiveServerTestCase
 from django.core.cache import cache
 from django.test.utils import override_settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import RequestFactory
 from unittest import skipUnless
 
diff --git a/openedx/core/djangoapps/external_auth/tests/test_shib.py b/openedx/core/djangoapps/external_auth/tests/test_shib.py
index 2b94f3d3b7c593b38e63ea8c25752b33d6c0ebee..d9ed8d862037e46e59da00968ad83ecc6224a0d3 100644
--- a/openedx/core/djangoapps/external_auth/tests/test_shib.py
+++ b/openedx/core/djangoapps/external_auth/tests/test_shib.py
@@ -16,7 +16,7 @@ from django.http import HttpResponseRedirect
 from django.test import TestCase
 from django.test.client import RequestFactory, Client as DjangoTestClient
 from django.test.utils import override_settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.contrib.auth.models import AnonymousUser, User
 from openedx.core.djangoapps.external_auth.models import ExternalAuthMap
 from openedx.core.djangoapps.external_auth.views import (
diff --git a/openedx/core/djangoapps/external_auth/tests/test_ssl.py b/openedx/core/djangoapps/external_auth/tests/test_ssl.py
index b9a2f3ffe68d259c64ad3698e73210b634e70b22..de5454ee93509b1bac01b169218c8f61b8792740 100644
--- a/openedx/core/djangoapps/external_auth/tests/test_ssl.py
+++ b/openedx/core/djangoapps/external_auth/tests/test_ssl.py
@@ -11,7 +11,7 @@ from django.conf import settings
 from django.contrib.auth import SESSION_KEY
 from django.contrib.auth.models import AnonymousUser, User
 from django.contrib.sessions.middleware import SessionMiddleware
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import Client
 from django.test.client import RequestFactory
 from django.test.utils import override_settings
diff --git a/openedx/core/djangoapps/external_auth/views.py b/openedx/core/djangoapps/external_auth/views.py
index c735436818aa79b7d0768108f836afc71817e823..bd1ca41aa4104b95841fe41a616ad194ddda052d 100644
--- a/openedx/core/djangoapps/external_auth/views.py
+++ b/openedx/core/djangoapps/external_auth/views.py
@@ -17,7 +17,7 @@ from django.conf import settings
 from django.contrib.auth import REDIRECT_FIELD_NAME, authenticate, login
 from django.contrib.auth.models import User
 from django.core.exceptions import ValidationError
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.core.validators import validate_email
 from django.db import transaction
 from django.http import HttpResponse, HttpResponseForbidden, HttpResponseRedirect
diff --git a/openedx/core/djangoapps/heartbeat/tests/test_heartbeat.py b/openedx/core/djangoapps/heartbeat/tests/test_heartbeat.py
index e999cda7b5f9f0e276eb2a051c5bff4b78e53653..1d79916d53fef128e1196c9b0ccacc02202f2794 100644
--- a/openedx/core/djangoapps/heartbeat/tests/test_heartbeat.py
+++ b/openedx/core/djangoapps/heartbeat/tests/test_heartbeat.py
@@ -3,7 +3,7 @@ Test the heartbeat
 """
 import json
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db.utils import DatabaseError
 from django.test.client import Client
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/openedx/core/djangoapps/lang_pref/tests/test_middleware.py b/openedx/core/djangoapps/lang_pref/tests/test_middleware.py
index 385a14241647ea8f1aa691bef27a306f337e4165..08ef38be5928b467b57c4fd66bb4193992b704e1 100644
--- a/openedx/core/djangoapps/lang_pref/tests/test_middleware.py
+++ b/openedx/core/djangoapps/lang_pref/tests/test_middleware.py
@@ -8,7 +8,7 @@ import mock
 import ddt
 from django.conf import settings
 from django.test import TestCase
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import RequestFactory
 from django.http import HttpResponse
 from django.contrib.sessions.middleware import SessionMiddleware
diff --git a/openedx/core/djangoapps/lang_pref/tests/test_views.py b/openedx/core/djangoapps/lang_pref/tests/test_views.py
index 055345c0175f605c2ba62c2a4e53065d033b6854..ac365ee4b90fa690636e34e6d1bbbf974d5bc0e8 100644
--- a/openedx/core/djangoapps/lang_pref/tests/test_views.py
+++ b/openedx/core/djangoapps/lang_pref/tests/test_views.py
@@ -4,7 +4,7 @@ Tests: lang pref views
 import json
 from django.test import TestCase
 from django.test.client import RequestFactory
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from student.tests.factories import UserFactory
 from django.utils.translation import LANGUAGE_SESSION_KEY
 from django.contrib.sessions.middleware import SessionMiddleware
diff --git a/openedx/core/djangoapps/oauth_dispatch/tests/test_client_credentials.py b/openedx/core/djangoapps/oauth_dispatch/tests/test_client_credentials.py
index d171e2107a21a3f55832931d6543302ea45f4aa0..433c709276106d994083104711f26d6f0c65026b 100644
--- a/openedx/core/djangoapps/oauth_dispatch/tests/test_client_credentials.py
+++ b/openedx/core/djangoapps/oauth_dispatch/tests/test_client_credentials.py
@@ -5,7 +5,7 @@ import json
 import unittest
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from edx_oauth2_provider.tests.factories import ClientFactory
 from oauth2_provider.models import Application
diff --git a/openedx/core/djangoapps/oauth_dispatch/tests/test_views.py b/openedx/core/djangoapps/oauth_dispatch/tests/test_views.py
index edd7183463b5d50f0171b40d670f4cde35d955e1..347bae8684c816c30eed798638afbab40deb7405 100644
--- a/openedx/core/djangoapps/oauth_dispatch/tests/test_views.py
+++ b/openedx/core/djangoapps/oauth_dispatch/tests/test_views.py
@@ -9,7 +9,7 @@ import ddt
 import httpretty
 from Cryptodome.PublicKey import RSA
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import RequestFactory, TestCase, override_settings
 from oauth2_provider import models as dot_models
 
diff --git a/openedx/core/djangoapps/oauth_dispatch/views.py b/openedx/core/djangoapps/oauth_dispatch/views.py
index 910a6d724b0694c557409fedb1e0bc65533da012..8429fb333d1af1ac5f92f932e2b7dbc10ce3714a 100644
--- a/openedx/core/djangoapps/oauth_dispatch/views.py
+++ b/openedx/core/djangoapps/oauth_dispatch/views.py
@@ -10,7 +10,7 @@ import json
 
 from Cryptodome.PublicKey import RSA
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import JsonResponse
 from django.views.generic import View
 from edx_oauth2_provider import views as dop_views  # django-oauth2-provider views
diff --git a/openedx/core/djangoapps/profile_images/tests/test_views.py b/openedx/core/djangoapps/profile_images/tests/test_views.py
index e6f60049a491bd1153f55898aa28dc22ce1aeedd..3d8e6d599896c6943d625a52de6045fab928c262 100644
--- a/openedx/core/djangoapps/profile_images/tests/test_views.py
+++ b/openedx/core/djangoapps/profile_images/tests/test_views.py
@@ -6,7 +6,7 @@ import datetime
 from nose.plugins.attrib import attr
 from pytz import UTC
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import HttpResponse
 
 import ddt
diff --git a/openedx/core/djangoapps/programs/tests/test_utils.py b/openedx/core/djangoapps/programs/tests/test_utils.py
index 5dcfdf9e38f9c0971614259d77dabafc14215b6e..55e8ef0065c24ed830621f844ab3319ef8472a57 100644
--- a/openedx/core/djangoapps/programs/tests/test_utils.py
+++ b/openedx/core/djangoapps/programs/tests/test_utils.py
@@ -10,7 +10,7 @@ import httpretty
 import mock
 import pytest
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from django.test.utils import override_settings
 from nose.plugins.attrib import attr
diff --git a/openedx/core/djangoapps/programs/utils.py b/openedx/core/djangoapps/programs/utils.py
index b9b10b269108d6157d394aeee9f21d92ac815c72..5f178b92dc983d031144d17db17eaf9de9278ba6 100644
--- a/openedx/core/djangoapps/programs/utils.py
+++ b/openedx/core/djangoapps/programs/utils.py
@@ -11,7 +11,7 @@ from dateutil.parser import parse
 from django.conf import settings
 from django.contrib.auth import get_user_model
 from django.core.cache import cache
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.functional import cached_property
 from edx_rest_api_client.exceptions import SlumberBaseException
 from opaque_keys.edx.keys import CourseKey
diff --git a/openedx/core/djangoapps/schedules/admin.py b/openedx/core/djangoapps/schedules/admin.py
index 96a65c67432a7bb5e34fc3d2428e1a95a46d5e4c..2658bd5c65b4d4e17f24ec1c85d80e8713f9680f 100644
--- a/openedx/core/djangoapps/schedules/admin.py
+++ b/openedx/core/djangoapps/schedules/admin.py
@@ -3,7 +3,7 @@ import functools
 from django.contrib import admin
 from django import forms
 from django.db.models import F
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext_lazy as _
 from openedx.core.djangolib.markup import HTML
 
diff --git a/openedx/core/djangoapps/schedules/resolvers.py b/openedx/core/djangoapps/schedules/resolvers.py
index 2e9e91cf7c743cddbd5a515cbe876303ba8480a8..59c056e22bbb6c64dbc281014c02654247c7bd40 100644
--- a/openedx/core/djangoapps/schedules/resolvers.py
+++ b/openedx/core/djangoapps/schedules/resolvers.py
@@ -6,7 +6,7 @@ import attr
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.contrib.staticfiles.templatetags.staticfiles import static
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db.models import F, Q
 
 from edx_ace.recipient_resolver import RecipientResolver
diff --git a/openedx/core/djangoapps/service_status/test.py b/openedx/core/djangoapps/service_status/test.py
index f006a82d68272fe2e1ef509d89c27adc927870ff..8e946f8c96a38103d313b6ca797eebc1e9bc409d 100644
--- a/openedx/core/djangoapps/service_status/test.py
+++ b/openedx/core/djangoapps/service_status/test.py
@@ -2,7 +2,7 @@
 
 import json
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import Client
 import unittest
 
diff --git a/openedx/core/djangoapps/theming/tests/test_theme_style_overrides.py b/openedx/core/djangoapps/theming/tests/test_theme_style_overrides.py
index 865fc280968aa0214b6baeb57353f60525b13bc9..d21846cd52f5e8684f59303a967cea147710dd33 100644
--- a/openedx/core/djangoapps/theming/tests/test_theme_style_overrides.py
+++ b/openedx/core/djangoapps/theming/tests/test_theme_style_overrides.py
@@ -2,7 +2,7 @@
 Tests for comprehensive themes.
 """
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from django.contrib import staticfiles
 
diff --git a/openedx/core/djangoapps/user_api/accounts/serializers.py b/openedx/core/djangoapps/user_api/accounts/serializers.py
index 005cf70c6164c9e37d7c42d7ed13460c491e3dd4..d7434e145732fe11140d2b57c41f14dc745aad3c 100644
--- a/openedx/core/djangoapps/user_api/accounts/serializers.py
+++ b/openedx/core/djangoapps/user_api/accounts/serializers.py
@@ -8,7 +8,7 @@ from rest_framework import serializers
 from django.contrib.auth.models import User
 from django.conf import settings
 from django.core.exceptions import ObjectDoesNotExist
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from six import text_type
 
 from lms.djangoapps.badges.utils import badges_enabled
diff --git a/openedx/core/djangoapps/user_api/accounts/tests/test_views.py b/openedx/core/djangoapps/user_api/accounts/tests/test_views.py
index 4f99e5a1d567c993d29dd8e488d385c2aa349c3c..ce0b80ba71e18d88e4a7cd1fbd2b123cadde67c6 100644
--- a/openedx/core/djangoapps/user_api/accounts/tests/test_views.py
+++ b/openedx/core/djangoapps/user_api/accounts/tests/test_views.py
@@ -15,7 +15,7 @@ from django.contrib.auth.models import User
 from django.contrib.sites.models import Site
 from django.core import mail
 from django.core.cache import cache
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from django.test.testcases import TransactionTestCase
 from django.test.utils import override_settings
diff --git a/openedx/core/djangoapps/user_api/api.py b/openedx/core/djangoapps/user_api/api.py
index ad5ebba9bc88931f464f9189b2c397ce4749c392..68c7cff5b690758e67ec062dde2abefa1d73f906 100644
--- a/openedx/core/djangoapps/user_api/api.py
+++ b/openedx/core/djangoapps/user_api/api.py
@@ -3,7 +3,7 @@ import crum
 
 from django.conf import settings
 from django.core.exceptions import ImproperlyConfigured
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from django_countries import countries
 
diff --git a/openedx/core/djangoapps/user_api/preferences/tests/test_views.py b/openedx/core/djangoapps/user_api/preferences/tests/test_views.py
index aeb68a9392d75caad5a0894e69b39a95c58d5a8f..eabc42e315ab3581e7547215758c5e7823132288 100644
--- a/openedx/core/djangoapps/user_api/preferences/tests/test_views.py
+++ b/openedx/core/djangoapps/user_api/preferences/tests/test_views.py
@@ -7,7 +7,7 @@ import ddt
 import json
 from mock import patch
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.testcases import TransactionTestCase
 from rest_framework.test import APIClient
 from student.tests.factories import UserFactory, TEST_PASSWORD
diff --git a/openedx/core/djangoapps/user_api/tests/test_views.py b/openedx/core/djangoapps/user_api/tests/test_views.py
index 351389c86d0f9664570a5af5bed74487f25d749c..d98ce4f668ae5f11c810f18a9138246c13719d91 100644
--- a/openedx/core/djangoapps/user_api/tests/test_views.py
+++ b/openedx/core/djangoapps/user_api/tests/test_views.py
@@ -10,7 +10,7 @@ import mock
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.core import mail
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import RequestFactory
 from django.test.testcases import TransactionTestCase
 from django.test.utils import override_settings
diff --git a/openedx/core/djangoapps/user_api/validation/tests/test_views.py b/openedx/core/djangoapps/user_api/validation/tests/test_views.py
index b0421e82e06d977afcea70380c2c85eb4dad5a7f..892d1c1b5a46dd0e3b5eea1e28c43c45282c1bcf 100644
--- a/openedx/core/djangoapps/user_api/validation/tests/test_views.py
+++ b/openedx/core/djangoapps/user_api/validation/tests/test_views.py
@@ -8,7 +8,7 @@ import unittest
 import ddt
 from django.conf import settings
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from six import text_type
 
 from openedx.core.djangoapps.user_api import accounts
diff --git a/openedx/core/djangoapps/user_api/verification_api/tests/test_views.py b/openedx/core/djangoapps/user_api/verification_api/tests/test_views.py
index 79e732aac5e58ee813132bd5c573c1d8de504b44..94ec816176579f8649b5b731511d135edf64a201 100644
--- a/openedx/core/djangoapps/user_api/verification_api/tests/test_views.py
+++ b/openedx/core/djangoapps/user_api/verification_api/tests/test_views.py
@@ -6,7 +6,7 @@ import freezegun
 import json
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from django.test.utils import override_settings
 
diff --git a/openedx/core/djangoapps/zendesk_proxy/tests/test_v0_views.py b/openedx/core/djangoapps/zendesk_proxy/tests/test_v0_views.py
index 817807999efc2a5ec1290bdd5efa323e0db5c1ea..fd1b22dc0879adb4aad174263835e5eed2c186ff 100644
--- a/openedx/core/djangoapps/zendesk_proxy/tests/test_v0_views.py
+++ b/openedx/core/djangoapps/zendesk_proxy/tests/test_v0_views.py
@@ -3,7 +3,7 @@ import json
 from copy import deepcopy
 
 import ddt
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from mock import MagicMock, patch
 
diff --git a/openedx/core/djangoapps/zendesk_proxy/tests/test_v1_views.py b/openedx/core/djangoapps/zendesk_proxy/tests/test_v1_views.py
index 6f4a17370b4fb685bb83c0512527a0ead2650f70..8dc13c41ec7ededcb5c611fab8012534a2dfaae5 100644
--- a/openedx/core/djangoapps/zendesk_proxy/tests/test_v1_views.py
+++ b/openedx/core/djangoapps/zendesk_proxy/tests/test_v1_views.py
@@ -3,7 +3,7 @@ import json
 from copy import deepcopy
 
 import ddt
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.utils import override_settings
 from mock import MagicMock, patch
 
diff --git a/openedx/core/lib/gating/api.py b/openedx/core/lib/gating/api.py
index b9bc9800eccb0280cc9cf8c272943fb66466346e..3e6ed5db7726e9e1992f6a54465a42cae44cf2d6 100644
--- a/openedx/core/lib/gating/api.py
+++ b/openedx/core/lib/gating/api.py
@@ -5,7 +5,7 @@ import json
 import logging
 
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 
 from completion.models import BlockCompletion
diff --git a/openedx/core/lib/xblock_builtin/xblock_discussion/xblock_discussion/__init__.py b/openedx/core/lib/xblock_builtin/xblock_discussion/xblock_discussion/__init__.py
index 634f3dc190b45cc91c189ea1f130792a679279af..818731692816361dddfe93918364473275fd780f 100644
--- a/openedx/core/lib/xblock_builtin/xblock_discussion/xblock_discussion/__init__.py
+++ b/openedx/core/lib/xblock_builtin/xblock_discussion/xblock_discussion/__init__.py
@@ -6,7 +6,7 @@ import logging
 import urllib
 
 from django.contrib.staticfiles.storage import staticfiles_storage
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import get_language_bidi
 from xblock.completable import XBlockCompletionMode
 from xblock.core import XBlock
diff --git a/openedx/core/lib/xblock_utils/__init__.py b/openedx/core/lib/xblock_utils/__init__.py
index 7de04b70bdff8a72ba58bc8ea5f77d281c638221..c46739976ee700981ef09704be69e606bd5027d3 100644
--- a/openedx/core/lib/xblock_utils/__init__.py
+++ b/openedx/core/lib/xblock_utils/__init__.py
@@ -14,7 +14,7 @@ from contracts import contract
 
 from django.conf import settings
 from django.contrib.staticfiles.storage import staticfiles_storage
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from pytz import UTC
 from django.utils.html import escape
 from django.contrib.auth.models import User
diff --git a/openedx/features/course_bookmarks/plugins.py b/openedx/features/course_bookmarks/plugins.py
index bb8921823c208ed3c6e4c84461f5fa6d05d6b94a..01f13c5b105f4619759d7916bfdaee377b2b26c7 100644
--- a/openedx/features/course_bookmarks/plugins.py
+++ b/openedx/features/course_bookmarks/plugins.py
@@ -3,7 +3,7 @@ Platform plugins to support course bookmarks.
 """
 
 from courseware.access import has_access
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from openedx.features.course_experience.course_tools import CourseTool
 from student.models import CourseEnrollment
diff --git a/openedx/features/course_bookmarks/views/course_bookmarks.py b/openedx/features/course_bookmarks/views/course_bookmarks.py
index b1f4464ae12f978a5a21fc073c3c39be1a8624df..8f82e70e2480c7b9ffb4ef471eee2f41b26d2107 100644
--- a/openedx/features/course_bookmarks/views/course_bookmarks.py
+++ b/openedx/features/course_bookmarks/views/course_bookmarks.py
@@ -4,7 +4,7 @@ Views to show a course's bookmarks.
 
 from django.contrib.auth.decorators import login_required
 from django.template.context_processors import csrf
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.shortcuts import render_to_response
 from django.template.loader import render_to_string
 from django.utils.decorators import method_decorator
diff --git a/openedx/features/course_experience/plugins.py b/openedx/features/course_experience/plugins.py
index 50613f9b5ea512d3e35650fb7cff1e7ea0da3fb2..e478a8b923a3236e86b323baca1375fad5644d26 100644
--- a/openedx/features/course_experience/plugins.py
+++ b/openedx/features/course_experience/plugins.py
@@ -3,7 +3,7 @@ Platform plugins to support the course experience.
 
 This includes any locally defined CourseTools.
 """
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 
 from courseware.courses import get_course_by_id
diff --git a/openedx/features/course_experience/templates/course_experience/course-home-fragment.html b/openedx/features/course_experience/templates/course_experience/course-home-fragment.html
index d499fcf416491bd7b73ff393788d89a7cc42f84b..e99d9f7d782989b90e33aa9e916de7a7841cbee0 100644
--- a/openedx/features/course_experience/templates/course_experience/course-home-fragment.html
+++ b/openedx/features/course_experience/templates/course_experience/course-home-fragment.html
@@ -9,7 +9,7 @@ import json
 from django.conf import settings
 from django.utils.translation import ugettext as _
 from django.template.defaultfilters import escapejs
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from django_comment_client.permissions import has_permission
 from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_string
diff --git a/openedx/features/course_experience/tests/views/test_course_dates.py b/openedx/features/course_experience/tests/views/test_course_dates.py
index ab2fb356722c1d5aa9166916be9b2f96f0a7ea7b..1df810ec558316f2527ceb8a743792884be0f9ea 100644
--- a/openedx/features/course_experience/tests/views/test_course_dates.py
+++ b/openedx/features/course_experience/tests/views/test_course_dates.py
@@ -2,7 +2,7 @@
 Tests for course dates fragment.
 """
 from datetime import timedelta, datetime
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from student.tests.factories import UserFactory
 from xmodule.modulestore import ModuleStoreEnum
diff --git a/openedx/features/course_experience/tests/views/test_course_home.py b/openedx/features/course_experience/tests/views/test_course_home.py
index c4363dfa77b5cd716ce85ead135c31ac4b5373d8..4deaf83272ab9fc733d99f5a7b1ef3e44725d121 100644
--- a/openedx/features/course_experience/tests/views/test_course_home.py
+++ b/openedx/features/course_experience/tests/views/test_course_home.py
@@ -7,7 +7,7 @@ from datetime import datetime, timedelta
 import ddt
 import mock
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import QueryDict
 from django.utils.http import urlquote_plus
 from django.utils.timezone import now
diff --git a/openedx/features/course_experience/tests/views/test_course_outline.py b/openedx/features/course_experience/tests/views/test_course_outline.py
index dfbf8aca53d60105a96c4fd53e0707a72714a207..406389aee5adc52fcc18999dc1561615272983a6 100644
--- a/openedx/features/course_experience/tests/views/test_course_outline.py
+++ b/openedx/features/course_experience/tests/views/test_course_outline.py
@@ -9,7 +9,7 @@ from completion import waffle
 from completion.models import BlockCompletion
 from completion.test_utils import CompletionWaffleTestMixin
 from django.contrib.sites.models import Site
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import override_settings
 from mock import Mock, patch
 from six import text_type
diff --git a/openedx/features/course_experience/tests/views/test_course_updates.py b/openedx/features/course_experience/tests/views/test_course_updates.py
index a2f8eaa93b456c98dd70061dbe7c8b42091bf5c0..607cca19ed2010996e1f3fffa004703ed26e7898 100644
--- a/openedx/features/course_experience/tests/views/test_course_updates.py
+++ b/openedx/features/course_experience/tests/views/test_course_updates.py
@@ -2,7 +2,7 @@
 Tests for the course updates page.
 """
 from courseware.courses import get_course_info_usage_key
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from openedx.core.djangoapps.waffle_utils.testutils import WAFFLE_TABLES
 from openedx.features.course_experience.views.course_updates import STATUS_VISIBLE
 from student.models import CourseEnrollment
diff --git a/openedx/features/course_experience/tests/views/test_welcome_message.py b/openedx/features/course_experience/tests/views/test_welcome_message.py
index 05efb3af5906c7b7a28fcc9e878f7a5dd3cc5f02..0d68dcd11c3bfd548605d2303f7777ee72f2d2e7 100644
--- a/openedx/features/course_experience/tests/views/test_welcome_message.py
+++ b/openedx/features/course_experience/tests/views/test_welcome_message.py
@@ -2,7 +2,7 @@
 Tests for course welcome messages.
 """
 import ddt
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from student.models import CourseEnrollment
 from student.tests.factories import UserFactory
diff --git a/openedx/features/course_experience/views/course_home.py b/openedx/features/course_experience/views/course_home.py
index bf09c2f919d4b34295928b80794ad14b9582cd1b..0f3eb2801f7d890db9dc00f8402e946c452e7ced 100644
--- a/openedx/features/course_experience/views/course_home.py
+++ b/openedx/features/course_experience/views/course_home.py
@@ -2,7 +2,7 @@
 Views for the course home page.
 """
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.template.context_processors import csrf
 from django.template.loader import render_to_string
 from django.utils.decorators import method_decorator
diff --git a/openedx/features/course_experience/views/course_reviews.py b/openedx/features/course_experience/views/course_reviews.py
index b1ccf6d924c7d7458a6bc57891d3e47c884e867b..11ae627d1073a425fba1f27816f9252f23b25641 100644
--- a/openedx/features/course_experience/views/course_reviews.py
+++ b/openedx/features/course_experience/views/course_reviews.py
@@ -3,7 +3,7 @@ Fragment for rendering the course reviews panel
 """
 from django.conf import settings
 from django.contrib.auth.decorators import login_required
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.template.loader import render_to_string
 from django.utils.decorators import method_decorator
 from django.views.decorators.cache import cache_control
diff --git a/openedx/features/course_experience/views/course_updates.py b/openedx/features/course_experience/views/course_updates.py
index 5b39cbb064d9e0310b42f7c22d40e1bdec491356..f84a33e223546e12292c7deeea61bd18f30e62b1 100644
--- a/openedx/features/course_experience/views/course_updates.py
+++ b/openedx/features/course_experience/views/course_updates.py
@@ -5,7 +5,7 @@ from datetime import datetime
 
 from django.contrib.auth.decorators import login_required
 from django.template.context_processors import csrf
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.template.loader import render_to_string
 from django.utils.decorators import method_decorator
 from django.views.decorators.cache import cache_control
diff --git a/openedx/features/course_experience/views/welcome_message.py b/openedx/features/course_experience/views/welcome_message.py
index 028f45a673ec4f0b45dfdb70a5869f1f60fa4c90..98d965ef5c8044b81083979c88d6b0b2cd27f70c 100644
--- a/openedx/features/course_experience/views/welcome_message.py
+++ b/openedx/features/course_experience/views/welcome_message.py
@@ -2,7 +2,7 @@
 View logic for handling course welcome messages.
 """
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import HttpResponse, HttpResponseBadRequest
 from django.template.loader import render_to_string
 from django.views.decorators.csrf import ensure_csrf_cookie
diff --git a/openedx/features/course_search/templates/course_search/course-search-fragment.html b/openedx/features/course_search/templates/course_search/course-search-fragment.html
index fc185c78866a06a34e175166439d136a1bfe578f..4a2bc45745b6bc5f72215670125193bb41e078ca 100644
--- a/openedx/features/course_search/templates/course_search/course-search-fragment.html
+++ b/openedx/features/course_search/templates/course_search/course-search-fragment.html
@@ -10,7 +10,7 @@ import waffle
 from django.conf import settings
 from django.utils.translation import ugettext as _
 from django.template.defaultfilters import escapejs
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from django_comment_client.permissions import has_permission
 from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_string
diff --git a/openedx/features/course_search/views/course_search.py b/openedx/features/course_search/views/course_search.py
index c9b704f120a764bf530e49e4cb51417ab102bb6b..f0cbd5748917edbc4e9dbfa328c397920f4e6ab9 100644
--- a/openedx/features/course_search/views/course_search.py
+++ b/openedx/features/course_search/views/course_search.py
@@ -4,7 +4,7 @@ Views for the course search page.
 
 from django.contrib.auth.decorators import login_required
 from django.template.context_processors import csrf
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.template.loader import render_to_string
 from django.utils.decorators import method_decorator
 from django.views.decorators.cache import cache_control
diff --git a/openedx/features/enterprise_support/api.py b/openedx/features/enterprise_support/api.py
index 35a358f9e8bbf23dd026e7b741adade7bd22a5e8..04ccfcb8a0c2e60569d8b287bbfdb28de7ade652 100644
--- a/openedx/features/enterprise_support/api.py
+++ b/openedx/features/enterprise_support/api.py
@@ -7,7 +7,7 @@ from functools import wraps
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.core.cache import cache
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.shortcuts import redirect
 from django.template.loader import render_to_string
 from django.utils.http import urlencode
diff --git a/openedx/features/enterprise_support/tests/mixins/enterprise.py b/openedx/features/enterprise_support/tests/mixins/enterprise.py
index 84f49e49c1e29448a44d75386fe22ac3cb88438a..c307b8ae287ad0912e55939ed1359600b1748a3c 100644
--- a/openedx/features/enterprise_support/tests/mixins/enterprise.py
+++ b/openedx/features/enterprise_support/tests/mixins/enterprise.py
@@ -7,7 +7,7 @@ import mock
 import httpretty
 from django.conf import settings
 from django.core.cache import cache
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import SimpleTestCase
 
 from openedx.features.enterprise_support.tests import FAKE_ENTERPRISE_CUSTOMER
diff --git a/openedx/features/enterprise_support/tests/test_api.py b/openedx/features/enterprise_support/tests/test_api.py
index 6a41ab97cbdb0d9e3dd5510ac0a68693c9e61150..077e10f6bb0ab3de8816aa58a272669592d836be 100644
--- a/openedx/features/enterprise_support/tests/test_api.py
+++ b/openedx/features/enterprise_support/tests/test_api.py
@@ -8,7 +8,7 @@ import mock
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.core.cache import cache
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import HttpResponseRedirect
 from django.test.utils import override_settings
 
diff --git a/openedx/features/enterprise_support/tests/test_middleware.py b/openedx/features/enterprise_support/tests/test_middleware.py
index 460f20192d433ded9938096b247b08abd481f247..5f7b2b17fdf0679eb165574f3eb9fb48edbbccad 100644
--- a/openedx/features/enterprise_support/tests/test_middleware.py
+++ b/openedx/features/enterprise_support/tests/test_middleware.py
@@ -4,7 +4,7 @@ Tests for Enterprise middleware.
 
 import mock
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test import TestCase
 from django.test.utils import override_settings
 
diff --git a/openedx/features/learner_analytics/views.py b/openedx/features/learner_analytics/views.py
index 226a02d0641440386b902b5460f72a52590afb80..0edf212db5a28fa70e48f98e6e24465c5cb260ce 100644
--- a/openedx/features/learner_analytics/views.py
+++ b/openedx/features/learner_analytics/views.py
@@ -12,7 +12,7 @@ from analyticsclient.client import Client
 from django.conf import settings
 from django.contrib.auth.decorators import login_required
 from django.core.cache import cache
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import Http404
 from django.shortcuts import render_to_response
 from django.utils.decorators import method_decorator
diff --git a/openedx/features/learner_profile/templates/learner_profile/learner_profile.html b/openedx/features/learner_profile/templates/learner_profile/learner_profile.html
index 010bc2193f8cc685bf53a705bbe061f0e64d361c..e53f7583072fbc14025c213db5c087db8c07c039 100644
--- a/openedx/features/learner_profile/templates/learner_profile/learner_profile.html
+++ b/openedx/features/learner_profile/templates/learner_profile/learner_profile.html
@@ -7,7 +7,7 @@
 
 <%!
 import json
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from openedx.core.djangolib.js_utils import dump_js_escaped_json
 from openedx.core.djangolib.markup import HTML
diff --git a/openedx/features/learner_profile/tests/views/test_learner_profile.py b/openedx/features/learner_profile/tests/views/test_learner_profile.py
index b3ecbf62176940efc8de87088842c4088319a281..0499e53690950619a6968b7e4c7122ba5b3cd5b9 100644
--- a/openedx/features/learner_profile/tests/views/test_learner_profile.py
+++ b/openedx/features/learner_profile/tests/views/test_learner_profile.py
@@ -9,7 +9,7 @@ from lms.djangoapps.certificates.tests.factories import GeneratedCertificateFact
 from lms.envs.test import CREDENTIALS_PUBLIC_SERVICE_URL
 from course_modes.models import CourseMode
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.test.client import RequestFactory
 from lms.djangoapps.certificates.api import is_passing_status
 from opaque_keys.edx.locator import CourseLocator
diff --git a/openedx/features/learner_profile/views/learner_profile.py b/openedx/features/learner_profile/views/learner_profile.py
index 8f56d42c6f5fba5451dcb899292c80c72967d517..31450209f89bd7410ac5ea00c16c683a8e301288 100644
--- a/openedx/features/learner_profile/views/learner_profile.py
+++ b/openedx/features/learner_profile/views/learner_profile.py
@@ -5,7 +5,7 @@ from django.conf import settings
 from django.contrib.auth.decorators import login_required
 from django.contrib.staticfiles.storage import staticfiles_storage
 from django.core.exceptions import ObjectDoesNotExist
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.http import Http404
 from django.shortcuts import render_to_response
 from django.utils.translation import ugettext as _
diff --git a/openedx/tests/completion_integration/test_views.py b/openedx/tests/completion_integration/test_views.py
index f9edcdb2fb0eead8f2fd4538c6c5540950c25512..5801a39f06c8caf316259192b98dbfce35a23a00 100644
--- a/openedx/tests/completion_integration/test_views.py
+++ b/openedx/tests/completion_integration/test_views.py
@@ -5,7 +5,7 @@ Test models, managers, and validators.
 from completion import waffle
 from completion.test_utils import CompletionWaffleTestMixin
 import ddt
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from rest_framework.test import APIClient
 
 from student.tests.factories import UserFactory, CourseEnrollmentFactory
diff --git a/openedx/tests/xblock_integration/test_crowdsource_hinter.py b/openedx/tests/xblock_integration/test_crowdsource_hinter.py
index 1fc0b9c7a70e6f0b12746e124103d2ad5d0e7bcc..db6f30305912ee361fea86900610ba025a1498e9 100644
--- a/openedx/tests/xblock_integration/test_crowdsource_hinter.py
+++ b/openedx/tests/xblock_integration/test_crowdsource_hinter.py
@@ -5,7 +5,7 @@ import json
 import unittest
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from nose.plugins.attrib import attr
 from six import text_type
 
diff --git a/openedx/tests/xblock_integration/test_recommender.py b/openedx/tests/xblock_integration/test_recommender.py
index 32f2c979a177190b95d1844d2bbb4ca461c4183b..a5cd83244d782c60203fe939e134c62a53678abe 100644
--- a/openedx/tests/xblock_integration/test_recommender.py
+++ b/openedx/tests/xblock_integration/test_recommender.py
@@ -10,7 +10,7 @@ import unittest
 from copy import deepcopy
 
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from ddt import data, ddt
 from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory
diff --git a/openedx/tests/xblock_integration/test_review_xblock.py b/openedx/tests/xblock_integration/test_review_xblock.py
index 42df514bfa24d7092444bc7299ce88caf52b8c7d..14eab4feef2058daebfd71f887fffda905fd0a93 100644
--- a/openedx/tests/xblock_integration/test_review_xblock.py
+++ b/openedx/tests/xblock_integration/test_review_xblock.py
@@ -6,7 +6,7 @@ import unittest
 
 from django.conf import settings
 from django.contrib.auth.models import User
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from nose.plugins.attrib import attr
 
 from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory
diff --git a/openedx/tests/xblock_integration/xblock_testcase.py b/openedx/tests/xblock_integration/xblock_testcase.py
index b96bc898bd0d0dc0ada1c5d02f2efc7b7a951d66..9ea51c4c2e6ce023bef5d5117cce0b0e1f4efa4d 100644
--- a/openedx/tests/xblock_integration/xblock_testcase.py
+++ b/openedx/tests/xblock_integration/xblock_testcase.py
@@ -46,7 +46,7 @@ import mock
 import pytz
 from bs4 import BeautifulSoup
 from django.conf import settings
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from xblock.plugin import Plugin
 
 import lms.djangoapps.lms_xblock.runtime
diff --git a/themes/edx.org/cms/templates/widgets/sock.html b/themes/edx.org/cms/templates/widgets/sock.html
index 571d90320c9c1f3fb861c04a52f152ace21d4f80..dd01db031bea2f01569e7ac406227ae4a5424946 100644
--- a/themes/edx.org/cms/templates/widgets/sock.html
+++ b/themes/edx.org/cms/templates/widgets/sock.html
@@ -1,7 +1,7 @@
 <%page expression_filter="h" args="online_help_token"/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 <div class="wrapper-sock wrapper">
   <ul class="list-actions list-cta">
diff --git a/themes/edx.org/lms/templates/course_modes/choose.html b/themes/edx.org/lms/templates/course_modes/choose.html
index 9ab6ce2dc19e0e01b84bba49f60c4b056f4ce209..62af72ba0967e35a645be963c841becb01884e1c 100644
--- a/themes/edx.org/lms/templates/course_modes/choose.html
+++ b/themes/edx.org/lms/templates/course_modes/choose.html
@@ -3,7 +3,7 @@
 <%namespace name='static' file='/static_content.html'/>
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from opaque_keys.edx.keys import CourseKey
 from openedx.core.djangolib.js_utils import js_escaped_string
 from openedx.core.djangolib.markup import HTML, Text
diff --git a/themes/edx.org/lms/templates/dashboard.html b/themes/edx.org/lms/templates/dashboard.html
index f58c050bd6a8a77595cc807c8c049c9ef6ee0061..e05515c7f599d58558a5f6408b933e1446f6dff3 100644
--- a/themes/edx.org/lms/templates/dashboard.html
+++ b/themes/edx.org/lms/templates/dashboard.html
@@ -11,7 +11,7 @@ from django.utils import timezone
 from django.utils.translation import ugettext as _
 from django.template import RequestContext
 from third_party_auth import pipeline
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from util.date_utils import strftime_localized
 from opaque_keys.edx.keys import CourseKey
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
diff --git a/themes/edx.org/lms/templates/header/navbar-authenticated.html b/themes/edx.org/lms/templates/header/navbar-authenticated.html
index eb76f36ab3a4a7d39f7d1f551131dc81372da287..449bd6ff3bf1e2856dfcb1ff8e4b9c2a64078b7a 100644
--- a/themes/edx.org/lms/templates/header/navbar-authenticated.html
+++ b/themes/edx.org/lms/templates/header/navbar-authenticated.html
@@ -5,7 +5,7 @@
 <%namespace name='static' file='../static_content.html'/>
 <%namespace file='../main.html' import="login_query"/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 %>
diff --git a/themes/edx.org/lms/templates/header/navbar-not-authenticated.html b/themes/edx.org/lms/templates/header/navbar-not-authenticated.html
index 4d233b80985c976f4448d90d01efcf1cec28ccea..174ca60a40342caecc8b94d6f28e2ba9296291ea 100644
--- a/themes/edx.org/lms/templates/header/navbar-not-authenticated.html
+++ b/themes/edx.org/lms/templates/header/navbar-not-authenticated.html
@@ -6,7 +6,7 @@
 <%namespace file='../main.html' import="login_query"/>
 
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from six import text_type
 %>
diff --git a/themes/red-theme/cms/templates/login.html b/themes/red-theme/cms/templates/login.html
index 721104311d02f0df52b37e40cf1db067ea51ac40..90659bc0ebfc8fb38a24978c9187996a8d392bb7 100644
--- a/themes/red-theme/cms/templates/login.html
+++ b/themes/red-theme/cms/templates/login.html
@@ -4,7 +4,7 @@
 <%inherit file="base.html" />
 <%def name="online_help_token()"><% return "login" %></%def>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 %>
 <%block name="title">${_("Sign In")}</%block>
diff --git a/themes/red-theme/lms/templates/footer.html b/themes/red-theme/lms/templates/footer.html
index 825ed082c5516b30e6a277db5dfb57054b5886d3..320478a155e057dac35bd957329a0e8c4c8a0d05 100755
--- a/themes/red-theme/lms/templates/footer.html
+++ b/themes/red-theme/lms/templates/footer.html
@@ -1,7 +1,7 @@
 ## mako
 <%namespace name='static' file='static_content.html'/>
 <%!
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils.translation import ugettext as _
 from django.conf import settings
 
diff --git a/themes/stanford-style/lms/templates/footer.html b/themes/stanford-style/lms/templates/footer.html
index 15faea08121b4f1b58f80c6e202f40bf8efd34e9..454272c49d9ee6f419dbff3f17c490ed61f4084b 100644
--- a/themes/stanford-style/lms/templates/footer.html
+++ b/themes/stanford-style/lms/templates/footer.html
@@ -1,7 +1,7 @@
 ## mako
 <%!
   from datetime import date
-  from django.core.urlresolvers import reverse
+  from django.urls import reverse
   from django.utils.translation import ugettext as _
   from openedx.core.djangoapps.lang_pref.api import footer_language_selector_is_enabled
 %>
diff --git a/themes/stanford-style/lms/templates/register-shib.html b/themes/stanford-style/lms/templates/register-shib.html
index 6fd6b6b769fd0b143ab36f49b81427f3123bd497..80e8db77a24bc2f0ff368654bccddb12448d8613 100644
--- a/themes/stanford-style/lms/templates/register-shib.html
+++ b/themes/stanford-style/lms/templates/register-shib.html
@@ -1,7 +1,7 @@
 <%inherit file="main.html" />
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from openedx.core.djangolib.js_utils import js_escaped_string
 %>
 
diff --git a/themes/stanford-style/lms/templates/register-sidebar.html b/themes/stanford-style/lms/templates/register-sidebar.html
index e661d5adbe600d8df4c1cc010c60aee0a46a75cd..d3738c529b1ee069b061a0bdba97980051905181 100644
--- a/themes/stanford-style/lms/templates/register-sidebar.html
+++ b/themes/stanford-style/lms/templates/register-sidebar.html
@@ -1,6 +1,6 @@
 <%!
 from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 %>
 <%namespace file='main.html' import="login_query"/>