Django2.1利用默认视图函数实现登录,注册,修改密码,找回密码等功能

django的用户管理系统默认帮我们继承了很多有用的视图函数,站在巨人的肩膀上拿来即用是我一贯的作风,在不影响全局的情况下,实现登录,注册,修改密码,找回密码等功能。

首先创建项目Mysite(默认你应经具备django的基本知识),再创建一个应用users (startapp users).
01. 在项目中引入用户管理模块的url

# 项目中的urls.py
path('users/', include('django.contrib.auth.urls')),

说明:
这将包括以下URL模式:

accounts/login/ [name='login']
accounts/logout/ [name='logout']
accounts/password_change/ [name='password_change']  # 修改密码,记得旧密码,登入有效
accounts/password_change/done/ [name='password_change_done']  # 修改成功
accounts/password_reset/ [name='password_reset']  # 密码重设,填写邮箱地址
accounts/password_reset/done/ [name='password_reset_done']  # 发送邮件成功地址
accounts/reset/// [name='password_reset_confirm']# 重置无效页面
accounts/reset/done/ [name='password_reset_complete']  # 密码重置完成页面

02. 将djangodjango\contrib\admin\templates\registration 文件夹包括所有html文件拷贝到项目根目录 templates中,将对应的模板修改为自己的即可。

login.html  # 登陆模板
logged_out.html  # 退出登录模板
password_change_form.html  # 重设密码,登入有效
password_reset_complete.html # 密码设置成功页面
password_reset_done.html  # 发送邮件成功页面
password_reset_email.html  # 邮件模板
password_reset_form.html  # 填写邮箱地址模板
password_reset_confirm.html # 重置密码无效提示页面

03. 在拷贝到项目根templates目录下的registration文件夹中创建一个login.html文件,其内部调用代码如下:

{% csrf_token %}
{{ form.username.label_tag }} {{ form.username }}
{{ form.password.label_tag }} {{ form.password }}
{# Assumes you setup the password_reset view in your URLconf #}

忘记密码

04.其他模板自己打开刚才拷贝的这些静态文件,自行修改成适合自己的即可!

你可能感兴趣的:(Django2.1利用默认视图函数实现登录,注册,修改密码,找回密码等功能)