擅长:python、mysql、java
<p>您可以查看以下文档中的“更改密码”部分。<a href="https://docs.djangoproject.com/en/dev/topics/auth/" rel="nofollow">How to change password in Django</a>。
它的工作原理如下:</p>
<ol>
<li><p>导航到位于<code>manage.py</code>文件所在的项目</li>
<li><p><code>$ python manage.py shell</code></p></li>
<li><p>执行以下操作:</p>
<pre><code>from django.contrib.auth.models import User
u = User.objects.get(username__exact='john')
u.set_password('new password')
u.save()
</code></pre></li>
</ol>
<p>您必须建立表单集,并在提交表单时执行此操作。</p>
<p>您还可以使用简单的<code>manage.py</code>命令:</p>
<p><code>manage.py changepassword *username*</code></p>
<p>只需输入两次新密码。</p>
<p>对于问题的第二部分(用户不能选择旧密码),可以创建一个表,在其中存储用户的旧密码。当用户输入新密码时,您可以在该表中检查是否可以选择它。Django有一个函数<a href="https://docs.djangoproject.com/en/1.9/ref/contrib/auth/#django.contrib.auth.models.User.check_password" rel="nofollow">check_password</a>,用于比较两个密码。</p>