gpt4 book ai didi

python - 为什么我得到 __init__() takes 1 positional argument but 2 were given?

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:29 25 4
gpt4 key购买 nike

我正在做一个项目,但出现以下错误:

回溯:

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]是基于类的 View ,您应该将 URL 指定为:

url(r'^reset-password$', PasswordResetView<b>.as_view()</b>, name='reset_password'),

您不希望每次传递给 View 时都创建一个新的PasswordResetView,您希望创建一个 HTTP 响应。你得到错误的原因是因为现在你将创​​建一个 PasswordResetView(所以你将调用 PasswordResetView__init__(..) 方法> 类。 View 使用的参数与对象的构造函数之间存在不匹配,因此会出现错误。即使没有不匹配,幸运的是,仍然会出现错误,因为结果将是PasswordResetView 对象,不是 HttpResponse 的子类。

关于python - 为什么我得到 __init__() takes 1 positional argument but 2 were given?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52391139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com