Django开发服务器因错误而关闭

时间:2019-05-02 13:10:54

标签: django devserver django-dev-server

我正在localhost上运行开发服务器以测试Django应用。大约一周前,开发服务器开始因错误退出-这是不理想的。

要给您一个实例,假设我想创建一个新视图,创建模板,然后在url中添加以下内容:

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

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

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

NB。 从django 2.1升级到2.2大约是同一时间,这在2.2中是理想的行为吗?

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

更新: 通过降级到django 2.1暂时解决了该问题。票证已打开here

2 个答案:

答案 0 :(得分:1)

类似的东西在django 2.2.1中已从release notes中修复:

  

修复了Django 2.2中的回归问题,该回归问题在URLConf模块引发异常时导致Runserver崩溃(#30323)。

答案 1 :(得分:0)

尝试创建这样的URL。

urls.py

from views import *

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

views.py

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

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