登陆路由

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-登陆功能-利用内置认证体系相关推荐

  1. U盘GPIO文件系统映射-STM32利用内置FLASH做U盘

    受到linux对一切设备的控制都当成文件对待的启发 于是便有了这个将GPIO映射到U盘中的想法,这样一来便可以在任何支持U盘的设备中扩展系统的硬件功能了 我的QQ是243786753,这属于原创作品, ...

  2. 【Unity】3.1 利用内置的3D对象创建三维模型

    分类:Unity.C#.VS2015 创建日期:2016-04-02 一.基本概念 Unity已经内置了一些基本的3D对象,利用这些内置的3D对象就可以直接构建出各种3D模型(当然,复杂的三维模型还需 ...

  3. dj鲜生-18-发送邮件功能

    django中内置了邮件发送功能 >功能的导入 from django.core.mail import send_mail >关注下send_mail函数要接收的参数 必传的参数说明: ...

  4. dj鲜生-38-项目上线简介-从本地小项目到云服务的调试

    小结 项目上线要做的事情有: 代码传到linux虚拟机上 准备相关的运环境 配置好ip与端口 让程序跑起来 项目上线,就是把windows上的代码,拷备到linux上,让代码跑起来 在win上跑代码的 ...

  5. dj鲜生-01-新建项目-配置数据库

    静态页面地址 静态文件资源下载: https://cloud.189.cn/t/U7vAjafAfAVb (鲜生电商-静态页面) 创建一个项目 pycharm打开项目 数据库的准备 新建一个数据库 & ...

  6. dj鲜生-10200818-商品首页展示-静态页下载资源

    静态页资源下载 https://cloud.189.cn/t/fqq6Vr36nIf2 (鲜生电商-静态页面) 商品首页模板处理 index.html页首理 生鲜首页的抽取过程,详解 - 知乎 htt ...

  7. python中int的功能_Python内置函数int()高级用法

    int()函数常用来把其他类型转换为整数,例如: >>> int(3.2) 3>>> int(1/3) 0 其实,int是Python内置类型之一,之所以能够当作函 ...

  8. LED驱动IC/LED数显、数码管显示驱动芯片VK1651,带键盘扫描功能,内置上电复位电路和RC震荡电路,串行接口(CLK , DIO)

    产品品牌:永嘉微电/VINKA 工程服务  技术支持 型号:VK1651 封装:DIP16/SOP16 年份:新年份 概述: VK1651是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电 ...

  9. 北京移动宽带光猫 GM219-S 路由功能分离内置路由器改接外置路由器

    北京移动安装了宽带,型号是GM219-s 参考MaYunsheng的文章 https://blog.csdn.net/faithc/article/details/80557470 成功设置自己的路由 ...

最新文章

  1. John the Ripper
  2. java与json,java与json
  3. oracle 根据spid查sql,探讨:Oracle数据库查看一个进程是如何执行相关的实际SQL语句...
  4. Mysql的“Limit”操作
  5. kafka基础之介绍和分布式集群搭建
  6. Please make sure you have the correct access rights and the repository exists
  7. 如何在手机上查银行卡号?进来手把手教你!
  8. 传统零售业务分析指标整理
  9. 数论基本定理和欧拉广义降幂公式
  10. 利用CodeMirror构建在线IDE随记
  11. 第四节——生成go测试代码
  12. centos7 同步网络时间
  13. 有点厉害!用12万行代码堆出来个蔡徐坤,编译还能通过!
  14. OS模块--批量修改文件名字(二)
  15. LAMP[Discuz论坛]
  16. IT行业发展前景分析
  17. Qt网络资源汇总(官网、源码、社区、博客)
  18. ArcGIS平台概述
  19. python access violation_python – “WindowsError:exception:access violation …” – ctypes问题...
  20. ArcGIS Engine开发教程之图层符号化(四)——符号化之Renderer( 渲染)体系

热门文章

  1. easyuefi只能在基于uefi启动的_云计算学习体系-1.1-计算机硬件基础扩展知识BIOS/UEFI/MBR/GPT...
  2. golang的一款cms内容管理系统
  3. HTML5无人机产品官网专题模板
  4. 百度SEO站群404二次元时间倒计时页面源码
  5. php文件夹重命名,PHP自动重命名文件实现方法
  6. jq 封装弹窗提示框,自动消失,确认
  7. c# 智能升级程序代码(1)
  8. Cuyahoga 添加模块
  9. System.Threading.Thread类方法
  10. windows下安装、卸载mysql服务