1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

Fixed #24704 -- Made the autoreloader survive SyntaxErrors.

With this change, it's expected to survive anything except errors
that make it impossible to import the settings. It's too complex
to fallback to a sensible behavior with a broken settings module.

Harcoding things about runserver in ManagementUtility.execute is
atrocious but it's the only way out of the chicken'n'egg problem:
the current implementation of the autoreloader primarily watches
imported Python modules -- and then a few other things that were
bolted on top of this design -- but we want it to kick in even if
the project contains import-time errors and django.setup() fails.

At some point we should throw away this code and replace it by an
off-the-shelf autoreloader that watches the working directory and
re-runs `django-admin runserver` whenever something changes.
This commit is contained in:
Aymeric Augustin
2015-08-05 11:07:36 +02:00
parent c2fcba2ac7
commit fe6ddb837d
4 changed files with 33 additions and 3 deletions

View File

@@ -9,6 +9,8 @@ Django 1.8.5 fixes several bugs in 1.8.4.
Bugfixes
========
* Made the development server's autoreload more robust (:ticket:`24704`).
* Fixed ``AssertionError`` in some delete queries with a model containing a
field that is both a foreign and primary key (:ticket:`24951`).