ImportError:无法导入名称'password_reset'
Posted
技术标签:
【中文标题】ImportError:无法导入名称\'password_reset\'【英文标题】:ImportError: cannot import name 'password_reset'ImportError:无法导入名称'password_reset' 【发布时间】:2019-03-17 10:49:29 【问题描述】:我正在尝试在 django (2.1.1) 中进行密码重置,但在导入密码重置时我不断收到以下错误:
ImportError: cannot import name 'password_reset'
这是我的导入:
from django.contrib.auth import (
authenticate,
get_user_model,
login,
logout,
password_reset,
password_reset_done
)
【问题讨论】:
视图已在 Django-2.1 中被移除 【参考方案1】:password_reset
视图等基于函数的视图已重写为基于类的视图:django-1.11 中的 PasswordResetView
[Django-doc] 类,如 release notes 中所指定。这些基于函数的视图仍然可以使用,但已弃用。
截至django-2.1,已删除基于函数的视图,如release notes 中所述。
你可以这样写:
from django.contrib.auth.views import PasswordResetView
from django.urls import path
urlpatterns = [
path(
'accounts/password_reset/',
PasswordResetView.as_view(),
name='password_reset'
),
]
当然,您可能希望更改 URL、视图名称,并将参数传递给 as_view
,以根据您的特定用例定制 PasswordResetView
。
请注意,如发行说明中所述,其他相关视图也已删除,例如 password_change
、password_change_done
、@987654333 @、password_reset_confirm
和 password_reset_complete
。
【讨论】:
感谢 Willem,现在我收到以下错误:找不到“password_reset_done”的反向。 'password_reset_done' 不是有效的视图函数或模式名称。 @Mphoza:就像上一段所说的那样,您需要将所有下面的视图更改为 CBV 对应项。以上是关于ImportError:无法导入名称'password_reset'的主要内容,如果未能解决你的问题,请参考以下文章
ImportError:无法导入名称“AFAVSignature”
ImportError:无法导入名称“评估”(来自意外导入评估)
Django 'ImportError: 无法导入名称 url'