我正在做一个项目,我得到以下错误:
回溯:

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的子类。

10-01 02:14