django cookie,session,auth
一.最完美的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的更多相关文章
- Django 认证系统 cookie & session & auth模块
概念 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生. cookie的工作原理是:由服务器产生内容,浏 ...
- 登陆验证系统实例-三种(cookie,session,auth)
登陆验证 因为http协议是无状态协议,但是我们有时候需要这个状态,这个状态就是标识 前端提交from表单,后端获取对应输入值,与数据库对比,由此对象设置一个标识,该对象 在别的视图的时候,有此标识, ...
- 概念与用法-cookie,session,auth (认证系统)
COOKIE 与 SESSION 概念 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生. cookie ...
- django cookie session 自定义分页
cookie cookie的由来 http协议是无状态的,犹如人生若只如初见,每次都是初次.由此我们需要cookie来保持状态,保持客户端和服务端的数据通信. 什么是cookie Cookie具体指的 ...
- Django Cookie Session和自定义分页
Django中操作Cookie 获取Cookie request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR, ...
- day55:django:cookie&session
目录 1.Cookie 1.Cookie前戏 2.Cookie的引入 3.django中操作cookie 2.Session 1.cookie的局限性 2.session技术 3.django操作se ...
- Django Cookie,Session
Cookie Cookie的由来 HTTP协议是无状态的,每次请求都是独立的,对服务器来说,每次的请求都是全新的,上一次的访问是数 据是无法保留到下一次的 某些场景需要状态数据或者中间数据等相关对下一 ...
- django cookie session操作
Cookie是什么? cookie说的直白点就是保存在用户浏览器端的一个键值对,举个例子,你现在登录了京东商城,你把浏览器关闭之后,你再打开京东,你还是可以对你的账户继续操作,已经购买的商品,订单都是 ...
- Python Web框架篇:Django cookie和session
part 1 概念 在Django里面,cookie和session都记录了客户端的某种状态,用来跟踪用户访问网站的整个回话. 两者最大的区别是cookie的信息是存放在浏览器客户端的,而sessio ...
随机推荐
- [LeetCode] 248. Strobogrammatic Number III 对称数之三
A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside ...
- python3 获取当前日期的时间戳,以及n天后的日期时间戳
#coding=utf- import time import datetime t=datetime.datetime.now() #当前日期 t1 =t.strftime('%Y-%m-%d 00 ...
- xss之挑战小靶场(1-10)
在线靶场(http://xss.fbisb.com) w 第一关 get请求,没有什么过滤,直接上<script>alert()</script> 源码: 第二关 输入参数会显 ...
- linux shell根据端口返回进程号杀死进程的方法
linux shell根据端口返回进程号杀死进程的方法<pre>kill `lsof -t -i:9501`</pre>这个就是杀死9501端口的进程号
- mysql插入数据频繁出现坏表
测试环境mysql出现了一个怪表:select查询表卡死,alter修改表卡死,甚至我不想要这个表了,delete.truncate.drop表都卡死卡主了...... 解决办法: >show ...
- [转帖]k8s 中的服务如何沟通
k8s 中的服务如何沟通 https://www.jianshu.com/p/9fae09876eb7 本文将介绍 k8s 中的服务如何相互访问,例如后端服务访问数据库,不同类型的服务间的相互访问.并 ...
- WebSocket的简单认识&SpringBoot整合websocket
1. 什么是WebSocket?菜鸟对websocket的解释如下 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. WebSocket 使得客户端和服务 ...
- POSIX 正则表达式 BRE与ERE的差异
BRE,标准正则表达式,basic regular expressions ERE,扩展正则表达式,Extended Regular Expressions POSIX 正则表达式 传统上,POSIX ...
- 设置a标签,实现点击跳转页面的两种效果
设置a标签,实现点击跳转页面 这个问题,主要是设置a标签的属性target,下面对target属性进行描述: 跳转在同一个窗口 1,target="_self", 它使得目标文档 ...
- thinkphp 分页类 url 编码处理
在做thinkphp分页的时候 thinkphp 中的分页 有一个小问题 就是 在有form 表单 搜索中文的时候,点击下一页的话 中文会被转换成编码. 如图: 最直接的方法就是 直接修改 thin ...