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 ...
 
随机推荐
- 树的遍历 | 1079 理解题意+DFS
			
这题如果读懂了题意,就很好做,一波操作就结束了.不过题目有点难读,考验耐心和读题的细致. AC代码: #include <stdio.h> #include <memory.h> ...
 - Linux 使用squid3搭建代理服务器
			
在对接微信/支付宝等3方业务时,往往都有ip白名单的设置,由于内网往往都是动态ip,频繁配置白名单是件及其繁琐的事情. 使用代理转发就是最方便的做法. 下面就使用squid3配置一台代理服务器. sq ...
 - JavaScript 正则表达式匹配成功后的返回结果
			
原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79005604 使用正则表达式EDIT 正则表达式可以被用于RegExp的exec ...
 - Rancher 部署 loonflow 工单系统
			
上篇文章介绍用实例主机部署:https://www.cnblogs.com/weavepub/p/11672305.html,本文采用Rancher上部署. 文章所有的文件都托管在Github:htt ...
 - update改数据详解
			
update修改数据的要素 : 改哪张表? 改哪几列的值? 分别改成什么值? 在哪些行生效?(这个很重要,否则所有行都会受影响) mysql> update class ; where 表达式 ...
 - CentOS中设置Apache服务器网站访问日志[每天的日志]
			
在阿里云的linux 服务器下Apache的日志默认设置是七天更新一次, 并且所在的目录无法通过FTP浏览器查看, 这样让小白操作起来非常麻烦 可以使用rotatelogs来设置服务器的网站访问日志按 ...
 - __attribute__((format(printf, a, b)))
			
最近,在看libevent源码,第一次看到__attribute__((format(printf, a, b)))这种写法.因此,在这里记录下用法. 功能:__attribute__ format属 ...
 - everything 13问
			
[1]everything 由来? everything 是澳大利亚人David Carpenter开发的一个运行于windows系统,基于文件.文件夹名称的快速免费搜索引擎. 自从问世以来,因其占用 ...
 - 《 .NET并发编程实战》阅读指南 - 第4章
			
先发表生成URL以印在书里面.等书籍正式出版销售后会公开内容.
 - 使用VMware 15 安装虚拟机和使用CentOS 8
			
前言: 最近在学习Linux和.Net Core,学习一些跨平台的知识.首先我用的虚拟机软件是VMware-15.1.0,Linux系统是CentOS-8-x86_64-1905-dvd1. 一.安装 ...