一.最完美的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. Codeforces Round #545 (Div. 2) E 强连通块 + dag上求最大路径 + 将状态看成点建图

    https://codeforces.com/contest/1138/problem/E 题意 有n个城市(1e5),有m条单向边(1e5),每一周有d天(50),对于每个城市假如在某一天为1表示这 ...

  2. cookie清除及其他操作

    JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的. 而cookie是运行在客户端的,所以可以用JS来设置cookie. 一:设置co ...

  3. MySQL实战45讲学习笔记:第二十八讲

    一.读写分离架构 在上一篇文章中,我和你介绍了一主多从的结构以及切换流程.今天我们就继续聊聊一主多从架构的应用场景:读写分离,以及怎么处理主备延迟导致的读写分离问题. 我们在上一篇文章中提到的一主多从 ...

  4. Django-Debug-Toolbar插件

    目录 django配置插件: 介绍: 安装及配置: 优化ORM: django配置插件: ---配置Django-Debug-Toolbar 介绍: Django-Debug-Toolbar是项目开发 ...

  5. [LeetCode] 753. Cracking the Safe 破解密码

    There is a box protected by a password. The password is n digits, where each letter can be one of th ...

  6. [LeetCode] 598. Range Addition II 范围相加之二

    Given an m * n matrix M initialized with all 0's and several update operations. Operations are repre ...

  7. 如何备份开拓者TBQuant的策略文件

    备份 "C:\TBQuant_V1.1.0.9_X64\users\你的用户名\Strategy\data\strategy.bin" 这个文件即可.

  8. MySQL基础指令和安装

    数据库概念 那Mysql能干嘛呢?它就是一款软件,安装在任何一台计算机或者服务器上的时候,只要我告诉它创建一个文件,新增一个数据,删除一个数据它就能帮我去做想要的操作 那我们暂且能不能理解为mysql ...

  9. Nacos集成Spring Cloud Gateway 基础使用

    项目结构 项目 端口 描述 nacos-provider 8000 服务 nacos-getway 8001 网关 nacos-provider项目依赖 <dependencies> &l ...

  10. Windows 10 win 10 切换输入法的快捷键

    Windows 10 win 10 切换输入法的快捷键 怎么切换输入法 中文 英文 切换 Windows键 + 空格键    切换输入法 Shift+Alt    切换中英文 Windows键形状如下 ...