社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

在Django中使用另一种密码重置模型

pupeno • 4 年前 • 377 次点击  

由于我正在创建的应用程序的复杂性,我最终得到了三个用户模型。一个很正常的 User 除了admin和另外两个之外,它不用于其他任何事情。我自己编写了一组auth后端来处理它,它工作得很好。

现在我的问题是有一个重置密码系统。在使用自定义模型时,是否有方法使用Django的reset password视图?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50114
 
377 次点击  
文章 [ 1 ]  |  最新文章 4 年前
birophilo
Reply   •   1 楼
birophilo    5 年前

我已经回答了你的问题 related question 关于密码重置,涉及到很多类似的问题。

django.contrib.auth.views ,在 PasswordResetConfirmView -处理重置窗体的视图-它有 get_user() 获取用户模型的方法。以及 form_valid() 方法执行用户身份验证。因此,如果您按照我的另一个答案对这个视图进行子类化,并编写这些方法的您自己的版本来处理您的非默认用户模型,那应该是正确的做法。

我不知道您的具体情况,但如果您重新开始,最好的方法可能是设置默认用户(如 AUTHOR_USER_MODEL )到Django的一个扩展 AbstractUser ,从那里您可以使用不同的用户类型和角色自定义您的用户模型。如果你已经这样做了道歉,当然在现有的应用程序上更改用户模型是困难和危险的。但我认为有了这个设计,一个密码重置链接将覆盖所有用户。这是一个很好的 blog post 安排好那条路。