django笔记10 cookie整理
感谢武沛齐老师 Alex老师
cookie 没有cookie所有的网站都登录不上
客户端浏览器上的一个文件
{'user':'ljc'}
{"user":'zpt'}
request.COOKIES.get('..')
response.set_cookie('..') 加密
obj = HttpResponse('s')
obj.set_signed_cookie('username',"kangbazi",salt="afajkfa") 解密
var w = request.get_signed_cookie('username',salt="afajkfa") import hashlib
m = hashlib.md5('fdaf')
m.update('afda') 装饰器: def auth(func): #装饰器
def inner(request,*args, **kwargs):
v = request.COOKIES.get('username111')
if not v:
return redirect('/login/')
return func(request,*args, **kwargs)
return inner FBV:
def auth(func):
def inner(request,*args, **kwargs):
v = request.COOKIES.get('username111')
if not v:
return redirect('/login/')
return func(request,*args, **kwargs)
return inner CBV:
from django import views
from django.utils.decorators import method_decorator @method_decorator(auth, name='dispatch')
class Order(views.View):
# @method_decorator(auth)
# def dispatch(self, request, *args, **kwargs):
# return super(Order,self).dispatch(request,*args, **kwargs) @method_decorator(auth)
def get(self,request):
v = request.COOKIES.get('username111')
return render(request, 'index.html', {'current_user': v}) def post(self,request):
v = request.COOKIES.get('username111')
return render(request, 'index.html', {'current_user': v})
cookie1:
request.COOKIES.get('username111') #获取用户端发来的cookie 获取 response = render(request,"index.html")
response = redirect('/index/')
#设置cookie 关闭浏览器失效(还可以设置超时时间)
response.set_cookie('key',"value") #关闭浏览器时 才失效 设置
return response cookie2:
request.COOKIES.get('username111') #获取用户端发来的cookie response = render(request,"index.html")
response = redirect('/index/')
#设置cookie 10秒后会过期 max_age = 截止时间失效
response.set_cookie('key',"value",max_age = )
import datetime
current_time = datetime.datetime.utcnow()
current_time = current_date + datetime.timedelta(seconds=)
#expires 具体到哪个时间节点
response.set_cookie('key',"value", expires = current_time)
return response cookie3: #document.cookie
request.COOKIES.get('username111') #获取用户端发来的cookie response = render(request,"index.html")
response = redirect('/index/')
#设置cookie 关闭浏览器失效(还可以设置超时时间)
#path='/'默认的地址
#domain=None 生效的域名
#secure=False https传输 如果是 要设置为true
#httponly=True 加上他好一点 在js获取cookie时 获取不到
response.set_cookie('key',"value") #关闭浏览器时 才失效
return response user_info = {
'dachengzi':{'pwd':''},
'kanbazi':{'pwd':''},
}
def login(request):
if request.method =="GET":
return render(request,'login.html')
if request.method == "POST":
u = request.POST.get('username')
p = request.POST.get('pwd')
dic = user_info.get(u)
if not dic:
return render(request, 'login.html')
if dic['pwd'] == p:
res = redirect('/index/')
res.set_cookie('username111',u)
return res
else:
return render(request, 'login.html') def index(request):
#获取当前已经登录的用户名
v = request.COOKIES.get('username111')
if not v:
return redirect('/login') return render(request,'index.html',{'current_user':v}) 缓存
中间件
信号
CSRF
Admin
ModelForm
django笔记10 cookie整理的更多相关文章
- Django笔记-常见错误整理
1.csrf错误 解决方法:在settings.py里注释掉相关内容即可 MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.Sess ...
- Django框架 之 Cookie、Session整理补充
Django框架 之 Cookie.Session整理补充 浏览目录 Django实现的Cookie Django实现的Session 一.Django实现的Cookie 1.获取Cookie 1 2 ...
- Django学习笔记之Cookie、Session和自定义分页
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
- SQL反模式学习笔记10 取整错误
目标:使用小数取代整数 反模式:使用Float类型 根据IEEE754标识,float类型使用二进制格式编码实数数据. 缺点:(1)舍入的必要性: 并不是所有的十进制中描述的信息都能使用二进制存储,处 ...
- django中操作cookie与session
cookie 什么是Cookie Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息. Cookie的 ...
- django(五):cookie和session
一.Cookie 1.cookie机制 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确 ...
- Python学习---django下的cookie操作 180201
什么是Cookies 什么是Cookies cookies设置的原因: 1. http请求的无记忆性: 2.加快访问速度 3. 减少服务器压力 cookies特点: cookies保存在客户端浏览器 ...
- 【转】Django中的cookie与session
转自:https://www.cnblogs.com/chenchao1990/p/5283725.html cookie与session的实现原理 HTTP被设计为”无状态”,每次请求都处于相同的空 ...
- 【python】-- Django 分页 、cookie、Session、CSRF
Django 分页 .cookie.Session.CSRF 一.分页 分页功能在每个网站都是必要的,下面主要介绍两种分页方式: 1.Django内置分页 from django.shortcuts ...
随机推荐
- cogs 2170. 大整数取模
2170. 大整数取模 ★ 输入文件:bigint.in 输出文件:bigint.out 简单对比时间限制:1 s 内存限制:256 MB [题目描述] 输入正整数n和m,输出n mo ...
- android启动第一个界面时即闪屏的核心代码(两种方式)
闪屏,就是SplashScreen,也能够说是启动画面,就是启动的时候,闪(展示)一下,持续数秒后.自己主动关闭. 第一种方式: android的实现很easy,使用Handler对象的postDe ...
- HDU 4259
虽然知道是置换,却很久没有思路.忽然想到,由初始状态A经过变换后回到A状态,应该是不停循环可重复的.于是,猜想数字的位置也是重复循环的.拿了个例子验证了一下,某然是这样.例如第二个10,3的例子有1- ...
- Woody的Python学习笔记2
Python多行语句 Python语句中一般以新行作为语句的结束符.但我们能够使用斜杠(\)将一行的语句分为多行显示,例如以下所看到的: total = item_one+\ item_two + \ ...
- silverlight wpf Command提交时输入验证
silverlight 或WPF在MVVM模式中使用INotifyDataErrorInfo接口对输入进行验证时 控件lostFocus时会触发验证,但在提交动作(例如button的Command)时 ...
- php 设计模式之观察者模式(订阅者模式)
php 设计模式之观察者模式 实例 没用设计模式的代码,这样的代码要是把最上面那部分也要符合要求加进来,就要修改代码,不符合宁增不改的原则 介绍 观察者模式定义对象的一对多依赖,这样一来,当一个对象改 ...
- nyoj--124--中位数(水题)
中位数 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 一组数据按从小到大的顺序依次排列,处在中间位置的一个数叫做中位数. 比如 1 5 10 11 9 其中位数就是9 ...
- javascript系列-class9.DOM(上)
欢迎加入前端交流群交流知识获取视频资料:749539640 1.文档对象模型DOM(document Object Model) 所谓DOM就是以家族的形式描述HTML 节点 ...
- [JZOJ 5910] [NOIP2018模拟10.18] DuLiu 解题报告 (并查集+思维)
题目链接: https://jzoj.net/senior/#contest/show/2530/0 题目: LF是毒瘤出题人中AK IOI2019,不屑于参加NOI的唯一的人.他对人说话,总是满口垃 ...
- 极客时间 Mysql实战45讲 07讲行锁功过:怎么减少行锁对性能的影响笔记 极客时间
极客时间 Mysql实战45讲 07讲行锁功过:怎么减少行锁对性能的影响笔记 极客时间极客时间 Mysql实战45讲 07讲行锁功过:怎么减少行锁对性能的影响笔记 极客时间 笔记体会: 方案一,事务相 ...