1

我在 localhost 上运行开发服务器来测试 django 应用程序。大约一周前,开发服务器开始因错误退出——这并不理想。

举个例子,假设我想创建一个新视图,制作模板,然后在 urls 中添加以下内容:

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

我还没有创建基于 ForgottenPassword 类的视图,所以服务器正确地抛出了错误:

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

然而,服务器随后退出。这不是期望的行为。我希望服务器保持错误状态,直到我修复错误(这发生在大约一周前)。

是什么导致了这种情况发生,我如何确保开发服务器在错误中保持活动状态以避免重新启动整个应用程序?

注意。大约在我们从 django 2.1 升级到 2.2 的同时,这是 2.2 中的理想行为吗?

注意。II 我知道这个问题,其中概述了一个非常相似的问题,但我在 ubuntu 上运行开发服务器,而不是 mac。

更新: 通过降级到django 2.1暂时解决了这个问题。在这里开票

4

2 回答 2

1

看起来这是在 django 2.2.1 中修复的,来自发行说明

修复了 Django 2.2 中当 URLConf 模块引发异常时导致 runserver 崩溃的回归 (#30323)。

于 2019-05-03T07:48:54.010 回答
0

尝试创建这样的 URL。

网址.py

from views import *

urlpatterns = [
        url(r'^forgotten-password/$', ForgottenPassword.as_view(), name='forgotten_password')
]

视图.py

class ForgottenPassword(CreateView):
    template_name = 'forgotten-password.html'

    def get(self, request, *args, **kwargs):
        return render(request, self.template_name,{})

于 2019-05-02T15:26:26.170 回答