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 ...
随机推荐
- 自己主动化測试程序之中的一个自己定义键盘的模拟測试程序(C语言)
一.測试程序编写说明 我们做的终端设备上运行的是QT应用程序.使用自己定义的键盘接口.经过測试人员长时间的人机交互測试,来确认系统的功能是否满足需求. 如今须要编写一个自己主动化的測试程序,能够依照预 ...
- 快学Scala习题解答—第三章 数组相关操作
3 数组相关操作 3.1 编写一段代码.将a设置为一个n个随机整数的数组,要求随机数介于0(包括)和n(不包括)之间 random和yield的使用 import scala.math.rando ...
- 【手势交互】9. PS Move
索尼研发体感控制技术已有10年,在过去那么多年里.尝试了3D摄像头.超声波和电磁感应等各种技术.最后还是觉得眼下的MOVE所使用的技术最为合适.PS Move是索尼于2010年9月份推出.用来让PS3 ...
- python抓取新浪微博评论并分析
1,实现效果 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb2xhbnphbw==/font/5a6L5L2T/fontsize/400/fill ...
- PyCharm基本设置、常用快捷键
1. 下载安装 PyCharm官方下载地址: https://www.jetbrains.com/pycharm/download/index.html#section=windows 安装完成后在 ...
- 上传文件时文件类型限制 <input id="File1" type="file" accept=""/>
在做项目项目中经常需要上传文件,类型也就那几种.虽然在js中加了上传文件类型的限制,但是为了减少因为用户选择不当而造成的反复检验.可以在input标签上加上accept属性.这种限制只是优化了选择文件 ...
- oracle中对字符串进行分割,并反回随机段
--测试数据 select fun_spilt_draw('1,2,3,4,5,6,7') a from dual--待处理数据 strtext--定义一个函数分割 返回字符串中的一个随机段creat ...
- MySQL内置函数uuid和uuid_short
MySQL的uuid这个函数.简要介绍一下. 用法 简单看到,这个值,每次执行都是不同的. 生成规则 第1 2 3 段是与时间有关的. time_low.time_mid.time_high_and_ ...
- (转载) 百度地图工具类封装(包括定位,附近、城市、范围poi检索,反地理编码)
目录视图 摘要视图 订阅 赠书 | 异步2周年,技术图书免费选 程序员8月书讯 项目管理+代码托管+文档协作,开发更流畅 百度地图工具类封装(包括定位,附近.城市.范围poi检索, ...
- Failed to connect to server
设置LR浏览器代理解决Failed to connect to server,Connection timed out问题. 虚拟机中,接口测试简单的Get请求,一直提示Failed to conne ...