Search code examples
djangodevserverdjango-dev-server

Django development server shutdown on error


I am running a dev server on localhost to test a django app. About a week ago the dev server started exiting on error- which is not ideal.

To give you an instance, imagine I want to create a new view, I make my template, then I add the following in urls:

urlpatterns = [
    ...
    path('forgotten-password', ForgottenPassword.as_view(), name='forgotten_password'),
]

I haven't yet created the ForgottenPassword class based view yet, so rightly the server throws the error:

File "/code/accounts/urls.py", line 19, in <module>
    path('forgotten-password', ForgottenPassword.as_view(), name='forgotten_password'),
NameError: name 'ForgottenPassword' is not defined

The server then quits however. This is not the desired behavior. I expect the server to remain in an error state until i fix the error (this happened up to about a week ago).

What causes this to happen, and how can i ensure that the dev server stays live on an error to avoid having to relaunch the entire app?

NB. It was around the same time that we upgraded from django 2.1 to 2.2, is this a desired behaviour in 2.2?

NB. II I am aware of this question in which a very similar problem is outlined, but I am running the dev server on ubuntu, not mac.

Update: Temporarily solved the problem by downgrading to django 2.1. Ticket opened here


Solution

  • Looks like this was fixed in django 2.2.1, from the release notes:

    Fixed a regression in Django 2.2 that caused a crash of runserver when URLConf modules raised exceptions (#30323).