一.最完美的auth

auth_user 是用来存储的用户注册的username,password

auth 首先需要引入模块

from django.contrib import auth

  用户认证的前提是:使用django自带用户表auth_user 插入数据,在manage.py下插入
createsuperuser
通过添加username,password 来实现创建auth_user 登录数据表 1.登录逻辑
 def login(request):

     if request.method == "GET":
return render(request, "login.html")
else:
#1.接收输入用户名和密码
user = request.POST.get("user")
pwd = request.POST.get("pwd")
print(user, pwd)
#2. 通过auth.authenticate判断输入的是否正确
#这里有三次变化{
# 1.将用户名,密码输入在user_name进行验证,成功后生成系统自带的随机session_id
# 2.将输入的用户名和密码写入
# 3.给浏览器返回session_id
#} user_obj = auth.authenticate(username=user, password=pwd)
#4,如果输入成功,返回登录页面
if user_obj:
#5.将user_obj赋值给user
auth.login(request, user_obj)
return redirect("/books/")
else:
return redirect("/login/")

登录

2.注销,本质上是flush()操作,清楚session_id

 def logout(request):
auth.logout(request)
return redirect("/login/")

注销

3.注册

 from django.contrib.auth.models import User
#1.注册前需要引入模块 def reg(request):
if request.method == "GET":
return render(request, "reg.html")
else:
user = request.POST.get("user")
pwd = request.POST.get("pwd")
#2.User的为什么不用create,因为用create会生成明文,不安全
#这个创建在user_auth里
User.objects.create_user(username=user, password=pwd)
return redirect("/books/")

注册

4.修改密码

 def set_password(request):
if request.method == "GET":
return render(request, "set_password.html")
else:
#1.验证用户名是否存在
user = User.objects.get(username=request.user.username)
pwd = request.POST.get("pwd")
#2修改密码
user.set_password(raw_password=pwd)
user.save()
return redirect("/books/")

修改密码

django cookie,session,auth的更多相关文章

  1. Django 认证系统 cookie & session & auth模块

    概念 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生. cookie的工作原理是:由服务器产生内容,浏 ...

  2. 登陆验证系统实例-三种(cookie,session,auth)

    登陆验证 因为http协议是无状态协议,但是我们有时候需要这个状态,这个状态就是标识 前端提交from表单,后端获取对应输入值,与数据库对比,由此对象设置一个标识,该对象 在别的视图的时候,有此标识, ...

  3. 概念与用法-cookie,session,auth (认证系统)

    COOKIE 与 SESSION 概念 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生. cookie ...

  4. django cookie session 自定义分页

    cookie cookie的由来 http协议是无状态的,犹如人生若只如初见,每次都是初次.由此我们需要cookie来保持状态,保持客户端和服务端的数据通信. 什么是cookie Cookie具体指的 ...

  5. Django Cookie Session和自定义分页

    Django中操作Cookie 获取Cookie request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR, ...

  6. day55:django:cookie&session

    目录 1.Cookie 1.Cookie前戏 2.Cookie的引入 3.django中操作cookie 2.Session 1.cookie的局限性 2.session技术 3.django操作se ...

  7. Django Cookie,Session

    Cookie Cookie的由来 HTTP协议是无状态的,每次请求都是独立的,对服务器来说,每次的请求都是全新的,上一次的访问是数 据是无法保留到下一次的 某些场景需要状态数据或者中间数据等相关对下一 ...

  8. django cookie session操作

    Cookie是什么? cookie说的直白点就是保存在用户浏览器端的一个键值对,举个例子,你现在登录了京东商城,你把浏览器关闭之后,你再打开京东,你还是可以对你的账户继续操作,已经购买的商品,订单都是 ...

  9. Python Web框架篇:Django cookie和session

    part 1 概念 在Django里面,cookie和session都记录了客户端的某种状态,用来跟踪用户访问网站的整个回话. 两者最大的区别是cookie的信息是存放在浏览器客户端的,而sessio ...

随机推荐

  1. Docker、Kubernetes的 CICD实现思路

    from:https://www.jianshu.com/p/654505d42180

  2. luogu P2221 [HAOI2012]高速公路题解

    题面 很套路的拆式子然后线段树上维护区间和的题.一般都是把式子拆成区间内几个形如\(\sum i*a_i, \sum i^2 * a_i\)的式子相加减的形式. 考虑一次询问[l,r]的答案怎么算: ...

  3. Object.defineProperty 中的 writable 和 configurable 和 enumerable 的理解

    在现在比较新的框架中, 比如 reactjs, vuejs中用得很多的一个属性便是 Object.defineOProperty 此属性的文档在网上一搜, 其中的几个属性, 包括 存取描述符(有set ...

  4. Eclipse:设置自动补全,提高编程效率

    一.设置自动补全 1.进入eclipse的window里的perferences页面 2.找到java->Editor->Content Assist设置界面 3.在Auto activa ...

  5. sql 自动增加排序 并且初始值是000001

    declare @co_num  int,                @CoNum varchar(6) select co_num=count(*)+1 from tab             ...

  6. 【题解】Paid Roads [SP3953] [Poj3411]

    [题解]Paid Roads [SP3953] [Poj3411] 传送门:\(\text{Paid}\) \(\text{Roads}\) \(\text{[SP3953]}\) \(\text{[ ...

  7. 深入V8引擎-初始化默认Platform

    本来寻思着写一篇"'Hello' + ', World'"是怎么从JS代码编译然后输出的,然而compile过程的复杂性远超我的想象,强上怕会走火入魔,还是老老实实先回家种田,找点 ...

  8. (转)WEB页面导出为Word文档后分页&横向打印的方法

    <html>    <HEAD>        <title>WEB页面导出为Word文档后分页&横向打印的方法 </title>    < ...

  9. python 进程和线程-简介及进程

    进程和线程的关系及应用 参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017627212385376 多任务: 什么叫“多任务”呢?简 ...

  10. 2019 农信互联java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.农信互联等公司offer,岗位是Java后端开发,因为发展原因最终选择去了农信互联,入职一年时间了,也成为了面 ...