""" Utility functions related to urls. """ import sys from django.conf import settings from django.core.urlresolvers import set_urlconf from django.utils.importlib import import_module def reload_django_url_config(): """ Reloads Django's URL config. This is useful, for example, when a test enables new URLs with a django setting and the URL config needs to be refreshed. """ urlconf = settings.ROOT_URLCONF if urlconf and urlconf in sys.modules: reload(sys.modules[urlconf]) reloaded = import_module(urlconf) reloaded_urls = getattr(reloaded, 'urlpatterns') set_urlconf(tuple(reloaded_urls))