dj鲜生-19-登陆功能-利用内置认证体系
登陆路由
127.0.0.1/user/login
path('login/', views.LoginView.as_view(), name='login'), # 登陆
登陆视图
页面渲染,get请求
移下来
在get方法中 render模板login.html
测试,页面的效果
样式的补齐
静态路径配好
主要用到的技术点
》在模板页导入静态的配置
{% load staticfiles %}
》利用静态配置拼接路径,例如
{% static 'css/reset.css' %}
》弄好后的效果
http://127.0.0.1:8000/user/login/
post请求开始
前端表单的相关修改和关注
post请求
关注控件的name值
post提交,需要加上csrf token
视图收数据
username zs
password 123456
df_user表
User.object.get(username = “zs”, password=123456)
认证用户的登陆 1.x版本
直接使用django自带的认证体系
1.x版本的认证
用户认证2.x版本
在1.x的认证基础上,还需要在配置中加上一段代码
在settings.py中添加配置
# 认证不自动关联数据库的is_active
AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.AllowAllUsersModelBackend']
测试认证的效果
结果
登陆的细节处理
用户认证成功的情况
用户认证失败的情况
前端补,错误提示
代码
效果
完整的代码
# /user/login
class LoginView(View):def get(self, request):# 渲染页面return render(request, "login.html")def post(self, request):# 用户登陆# 1,接收数据username = request.POST.get("username")password = request.POST.get("password")print(username)print(password)# 2,校验数据from django.contrib.auth import authenticateuser = authenticate(username=username, password=password)# 如果用户验证成功if user is not None:print('user, is active', user, user.is_active)# 如果用户已激活if user.is_active:# 3,登陆逻辑print('登陆用户')from django.contrib.auth import loginlogin(request, user)print('页面跳转')return redirect(reverse("goods:index"))# 用户未激活else:return render(request, "login.html", {"errmsg":"用户未激活"})# 如果用户验证不成功else:return render(request, "login.html", {"errmsg": "用户名或者密码错误"})
练习需求
- 完成登录认证的功能
- 当用户名密码正确,但是,未激活,来一个页面 reactive.html, 页面中提示,用户未激活,点击一个链接自动发送邮件到用户邮箱中。让用户点击链接激活
流程
1,路由
127.0.0.1/user/reactive
path(‘reactive/’, views.reactive)
2,视图
render页面 reactive.html
传参数 {"url’: url}
问题是构建这个url
3,模板
<h1> 点击链接重新发送激活邮件</h1><a href = 网址> 发送激活链接 </a>
用户点击这个网址,send_reactive_mail
另外的视图里要做的事情
拼一个激活链接(加密的,根据用户的id进 行加密)
拼好后,发送邮件
dj鲜生-19-登陆功能-利用内置认证体系相关推荐
- U盘GPIO文件系统映射-STM32利用内置FLASH做U盘
受到linux对一切设备的控制都当成文件对待的启发 于是便有了这个将GPIO映射到U盘中的想法,这样一来便可以在任何支持U盘的设备中扩展系统的硬件功能了 我的QQ是243786753,这属于原创作品, ...
- 【Unity】3.1 利用内置的3D对象创建三维模型
分类:Unity.C#.VS2015 创建日期:2016-04-02 一.基本概念 Unity已经内置了一些基本的3D对象,利用这些内置的3D对象就可以直接构建出各种3D模型(当然,复杂的三维模型还需 ...
- dj鲜生-18-发送邮件功能
django中内置了邮件发送功能 >功能的导入 from django.core.mail import send_mail >关注下send_mail函数要接收的参数 必传的参数说明: ...
- dj鲜生-38-项目上线简介-从本地小项目到云服务的调试
小结 项目上线要做的事情有: 代码传到linux虚拟机上 准备相关的运环境 配置好ip与端口 让程序跑起来 项目上线,就是把windows上的代码,拷备到linux上,让代码跑起来 在win上跑代码的 ...
- dj鲜生-01-新建项目-配置数据库
静态页面地址 静态文件资源下载: https://cloud.189.cn/t/U7vAjafAfAVb (鲜生电商-静态页面) 创建一个项目 pycharm打开项目 数据库的准备 新建一个数据库 & ...
- dj鲜生-10200818-商品首页展示-静态页下载资源
静态页资源下载 https://cloud.189.cn/t/fqq6Vr36nIf2 (鲜生电商-静态页面) 商品首页模板处理 index.html页首理 生鲜首页的抽取过程,详解 - 知乎 htt ...
- python中int的功能_Python内置函数int()高级用法
int()函数常用来把其他类型转换为整数,例如: >>> int(3.2) 3>>> int(1/3) 0 其实,int是Python内置类型之一,之所以能够当作函 ...
- LED驱动IC/LED数显、数码管显示驱动芯片VK1651,带键盘扫描功能,内置上电复位电路和RC震荡电路,串行接口(CLK , DIO)
产品品牌:永嘉微电/VINKA 工程服务 技术支持 型号:VK1651 封装:DIP16/SOP16 年份:新年份 概述: VK1651是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电 ...
- 北京移动宽带光猫 GM219-S 路由功能分离内置路由器改接外置路由器
北京移动安装了宽带,型号是GM219-s 参考MaYunsheng的文章 https://blog.csdn.net/faithc/article/details/80557470 成功设置自己的路由 ...
最新文章
- John the Ripper
- java与json,java与json
- oracle 根据spid查sql,探讨:Oracle数据库查看一个进程是如何执行相关的实际SQL语句...
- Mysql的“Limit”操作
- kafka基础之介绍和分布式集群搭建
- Please make sure you have the correct access rights and the repository exists
- 如何在手机上查银行卡号?进来手把手教你!
- 传统零售业务分析指标整理
- 数论基本定理和欧拉广义降幂公式
- 利用CodeMirror构建在线IDE随记
- 第四节——生成go测试代码
- centos7 同步网络时间
- 有点厉害!用12万行代码堆出来个蔡徐坤,编译还能通过!
- OS模块--批量修改文件名字(二)
- LAMP[Discuz论坛]
- IT行业发展前景分析
- Qt网络资源汇总(官网、源码、社区、博客)
- ArcGIS平台概述
- python access violation_python – “WindowsError:exception:access violation …” – ctypes问题...
- ArcGIS Engine开发教程之图层符号化(四)——符号化之Renderer( 渲染)体系
热门文章
- easyuefi只能在基于uefi启动的_云计算学习体系-1.1-计算机硬件基础扩展知识BIOS/UEFI/MBR/GPT...
- golang的一款cms内容管理系统
- HTML5无人机产品官网专题模板
- 百度SEO站群404二次元时间倒计时页面源码
- php文件夹重命名,PHP自动重命名文件实现方法
- jq 封装弹窗提示框,自动消失,确认
- c# 智能升级程序代码(1)
- Cuyahoga 添加模块
- System.Threading.Thread类方法
- windows下安装、卸载mysql服务