-
看了网上不少关于django-password-reset的教程,但个人感觉不适合新手操作,所以本篇文章希望让跟多的人看懂。
-
官网地址:https://django-password-reset.readthedocs.io/en/latest/quickstart.html
-
官网的提示:
-
接下来我就把上面官网的要求走上一遍
-
下载方式pip:pip install django-password-reset
- 把password_reset添加到setting.py的INSTALLED_APPS里面
- 把include(‘password_reset.urls’) 添加到setting.py下面的urls.py里面
- 把{% url “password_reset_recover” %} 放到你的进入密码重置页面里面。
- 在templates下面创建base.html,路径为templates/base.html
- 把password_reset添加到setting.py的INSTALLED_APPS里面
-
上面解释了官网的四个快捷步骤,接下来就联系一下
-
创建一个视图(views)函数
-
urls.pypath('reset_passwords',views.reset_passwords,name='reset_passwords'), #创建一个进入重置密码的页面
-
views.py def reset_passwords(request):return render(request, 'polls/reset_passwords.html')
-
#按照要求把{% url "password_reset_recover" %}加入到该html里面 templates/reset_password.html<form method="post" action="#">{%csrf_token%}</form><h5>忘记密码了?</h5><h5>点击<a href='{% url "password_reset_recover" %}'>这里</a>重置密码</h5>
-
运行结果
-
点击“这里”,url会自动进入http://127.0.0.1:8000/password_resetrecover/ ,password_resetrecover/是默认路径,并且会渲染templates/base.html
-
在base.html里面加入{% block content %}{% endblock content %}运行后就可以重置密码了
-
最重要的一点需要配置邮箱
-
EMAIL_HOST = 'smtp.qq.com' EMAIL_PORT = 25 #发件箱的smtp服务器端口 EMAIL_HOST_USER = '' # 你的 QQ邮箱 账号 EMAIL_HOST_PASSWORD = ''#QQ邮箱授权码 EMAIL_USE_TLS = True # 这里必须是 True,否则发送不成功 EMAIL_FROM = '' # # 你的 QQ邮箱 账号DEFAULT_FROM_EMAIL = ''# 你的 QQ邮箱 账号
-
当然只有已经注册的auth用户才可以使用该功能,不然它会提示找不到信息
-
最主要的是,这只是简单的实现了该功能,