summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Forbes <tom@tomforb.es>2019-04-29 10:22:43 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-04-29 12:18:18 +0200
commit097457afe47e50e76d53b1cd3312ba8364f866cb (patch)
tree14473339b75594bb10f75c1467da1b43ab998652
parent4f8ebdd09835ad5c010c122ec669c1b224801302 (diff)
[2.2.x] Refs #30323 -- Prevented crash of autoreloader when get_resolver().urlconf_module raising an exception.
Backport of 0636d4d2aa6e4469198fdf662225ad862e60c5e3 from master
-rw-r--r--django/utils/autoreload.py7
-rw-r--r--docs/releases/2.2.1.txt3
2 files changed, 9 insertions, 1 deletions
diff --git a/django/utils/autoreload.py b/django/utils/autoreload.py
index d43342c2d7..556b179774 100644
--- a/django/utils/autoreload.py
+++ b/django/utils/autoreload.py
@@ -269,7 +269,12 @@ class BaseReloader:
from django.urls import get_resolver
# Prevent a race condition where URL modules aren't loaded when the
# reloader starts by accessing the urlconf_module property.
- get_resolver().urlconf_module
+ try:
+ get_resolver().urlconf_module
+ except Exception:
+ # Loading the urlconf can result in errors during development.
+ # If this occurs then swallow the error and continue.
+ pass
logger.debug('Apps ready_event triggered. Sending autoreload_started signal.')
autoreload_started.send(sender=self)
self.run_loop()
diff --git a/docs/releases/2.2.1.txt b/docs/releases/2.2.1.txt
index 9696488e14..4a2d77aaf3 100644
--- a/docs/releases/2.2.1.txt
+++ b/docs/releases/2.2.1.txt
@@ -64,3 +64,6 @@ Bugfixes
permissions for proxy models if the target permissions already existed. For
example, when a permission had been created manually or a model had been
migrated from concrete to proxy (:ticket:`30351`).
+
+* Fixed a regression in Django 2.2 that caused a crash of :djadmin:`runserver`
+ when URLConf modules raised exceptions (:ticket:`30323`).