如何在Django 1.9中实现修改密码表单

新手上路,请多包涵

我的 python 项目的 url 在这里: https ://github.com/abylikhsanov/social

我正在尝试实现密码更改表单,以便用户可以更改他或她的密码。我该如何实施?应用程序应跟踪以前的密码,并且不应允许用户使用以前使用过的密码。另外,我想实现重置密码功能。

原文由 user4222907 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 596
1 个回答

您可以查看以下文档的 更改密码 部分。 如何在 Django 中更改密码。它是这样工作的:

  1. 导航到您的项目,其中 manage.py 文件所在

  2. $ python manage.py shell

  3. 执行以下操作:

    from django.contrib.auth.models import User
   u = User.objects.get(username__exact='john')
   u.set_password('new password')
   u.save()

您将必须制作一个表单集,并且您将在提交表单时执行此操作。

您还可以使用简单的 manage.py 命令:

manage.py changepassword *username*

只需输入两次新密码。

对于问题的第二部分(用户不能选择旧密码),您可以创建一个表来存储用户的旧密码。当用户输入新密码时,您可以在该表中查看他是否可以选择。 Django 有一个函数 check_password 用来比较两个密码。

原文由 Muhammad Hassan 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题