感谢武沛齐老师 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整理的更多相关文章

  1. Django笔记-常见错误整理

    1.csrf错误 解决方法:在settings.py里注释掉相关内容即可 MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.Sess ...

  2. Django框架 之 Cookie、Session整理补充

    Django框架 之 Cookie.Session整理补充 浏览目录 Django实现的Cookie Django实现的Session 一.Django实现的Cookie 1.获取Cookie 1 2 ...

  3. Django学习笔记之Cookie、Session和自定义分页

    cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...

  4. SQL反模式学习笔记10 取整错误

    目标:使用小数取代整数 反模式:使用Float类型 根据IEEE754标识,float类型使用二进制格式编码实数数据. 缺点:(1)舍入的必要性: 并不是所有的十进制中描述的信息都能使用二进制存储,处 ...

  5. django中操作cookie与session

    cookie 什么是Cookie Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息. Cookie的 ...

  6. django(五):cookie和session

    一.Cookie 1.cookie机制 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确 ...

  7. Python学习---django下的cookie操作 180201

    什么是Cookies 什么是Cookies cookies设置的原因: 1. http请求的无记忆性: 2.加快访问速度  3. 减少服务器压力 cookies特点: cookies保存在客户端浏览器 ...

  8. 【转】Django中的cookie与session

    转自:https://www.cnblogs.com/chenchao1990/p/5283725.html cookie与session的实现原理 HTTP被设计为”无状态”,每次请求都处于相同的空 ...

  9. 【python】-- Django 分页 、cookie、Session、CSRF

    Django  分页 .cookie.Session.CSRF 一.分页 分页功能在每个网站都是必要的,下面主要介绍两种分页方式: 1.Django内置分页 from django.shortcuts ...

随机推荐

  1. cogs 2170. 大整数取模

    2170. 大整数取模 ★   输入文件:bigint.in   输出文件:bigint.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] 输入正整数n和m,输出n mo ...

  2. leetcode第一刷_Subsets II

    要求子集,有很现成的方法.N个数.子集的个数是2^N.每一个元素都有在集合中和不在集合中两种状态,这些状态用[0,pow(2,N)]中每一个数来穷举,假设这个数中的第i位为1,说明当前集合中包括源数组 ...

  3. python-Pymyslql-requests_html:把腾讯新闻的今日推荐和链接存进数据库

    使用pumsql封装的部分功能 request_html:打开www.qq.com的例子 结果: PS:记得处理数据

  4. 16、sockect

    一.局域网因特网 服务器是指提供信息的计算机或程序,客户机是指请求信息的计算机或程序,而网络用于连接服务器与客户机,实现两者之间的通信.但有时在某个网络中很难将服务器和客户机区分开.我们通常说的“局域 ...

  5. nyoj 585 取石子(六) 【Nim】

    取石子(六) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描写叙述 近期TopCoder的PIAOYI和HRDV非常无聊,于是就想了一个游戏,游戏是这种:有n堆石子,两个人 ...

  6. POJ 3469 Dinic (二元关系)

    题意: 思路: //By SiriusRen #include <queue> #include <cstdio> #include <cstring> using ...

  7. C#多播委托和事件的区别与关系

    事件是对委托的封装. 如果一个类里,你把一个委托声明为 public 了,那么外部就可以随意改变委托变量的值,包括清空委托变量等,这样的话就违背了面向对象思想的封装特性:但如果声明为 private ...

  8. HDU 1856 More is better【并查集】

    解题思路:将给出的男孩的关系合并后,另用一个数组a记录以find(i)为根节点的元素的个数,最后找出数组a的最大值 More is better Time Limit: 5000/1000 MS (J ...

  9. Mybatis中<resultMap>用法(主要用于一对多去重)

    一.创建部门表和员工表: 创建部门信息表`t_department`,其中包括`id`, `name` CREATE TABLE t_department (         id INT AUTO_ ...

  10. Linux bash常用快捷键

    移动光标 ctrl-a 光标移动到行首 ctrl-e 光标移动到行尾 ctrl+xx 在行首和光标位置直接切换 ctrl-b 光标左移一位 ctrl-f 光标右移一位 alt-b 光标左移一词 alt ...