python - ImportError:无法导入名称'password_reset'
问题描述
我正在尝试在 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
)
解决方案
password_reset
视图等基于函数的视图已被重写为基于类的视图:django-1.11 中的[ Django PasswordResetView
-doc]类,如发行说明中所述。这些基于函数的视图仍然可以使用,但已被弃用。
从django-2.1开始,基于功能的视图已被删除,如发行说明中所述。
你可以这样写:
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
、password_reset_done
、password_reset_confirm
和password_reset_complete
。
推荐阅读
- excel - 为什么 LibreOffice base、Microsoft Excel 和 Tableau 需要不必要的权限才能从 bigquery 查询表数据?
- eclipse-rcptt - RCPTT:获取产品安装路径的 ECL 命令
- php - Laravel 如何为 where like 查询动态数组列名称?
- scala - 不推荐使用 ReactiveMongo 中的方法 find 。0.20.3
- pandas - 比较熊猫不同数据框中的两列
- reactjs - useEffect 模拟 componentWillUnmount 不返回更新状态
- c# - 如何解决“/”应用程序索引未初始化中的服务器错误?
- python - 无法将 Django 模型导入 Python shell
- javascript - 如何使用 express-validator 对嵌套对象进行验证
- react-native - eslint@6.8.0:引擎“节点”与此模块不兼容。预期版本“^8.10.0 || ^10.13.0 || >=11.10.1”。得到“11.6.0”