我正在做一个项目,我得到以下错误:
回溯:
TypeError at /account/reset-password
__init__() takes 1 positional argument but 2 were given
进口:
from django.conf.urls import url
from . import views
from django.contrib.auth import views as auth_views
from django.contrib.auth.views import PasswordResetView, PasswordResetDoneView
网址:
url(r'^reset-password$', PasswordResetView, name='reset_password'),
我是新来的django,所以欢迎帮助泰
最佳答案
PasswordResetView
[Django-doc]是一个基于类的视图,您应该将URL指定为:
url(r'^reset-password$', PasswordResetView.as_view(), name='reset_password'),
您不希望每次传递到视图时都创建一个新的
PasswordResetView
,而是希望创建一个http响应。之所以出现错误,是因为现在您将创建一个PasswordResetView
(因此您将调用__init__(..)
类的PasswordResetView
方法。视图使用的参数与对象的构造函数不匹配,因此出现错误即使没有不匹配,幸运的是仍然会有一个错误,因为结果将是一个PasswordResetView
对象,它不是HttpResponse
的子类。