简介:本文的首席执行官注释将介绍有关Django如何将数据存储在Cookie中的相关内容。我希望这对每个人都会有所帮助。让我们来看看。
1. Java保存写作给cookie
JSP程序片段如下:
//将写作保存到cookie
<<%
字符串cookiename =“ sender”;
cookie cookie = new cookie(cookiename,“ test_content”);
cookie.setmaxage(10);//生存为10秒
响应。addcookie(cookie);
%>
2.读出并取出cookie
创建Cookie文件后,自然需要读取它。代码片段如下:
<<%
cookie cookie [] = request.getCookies();//阅读用户硬盘上的cookie,然后将所有cookie放在cookie对象数组中
cookie scookie = null;
字符串svalue = null;
字符串sname = null;
for(int i = 0; icookies.length-1; i ++ {//使用圆形句子遍历刚刚建立的cookie对象数组
scookie = cookie;//在数组中取出cookie对象
name = scookie.getName();//获取此cookie的名字
svalue = scookie.getValue();//获取此cookie的内容
%>
<<%
}
%>
名称值
<%=名称%> <%= svalue%>
没有状态的含义是每个请求都是独立的。其执行和结果与先前的请求和后续请求无直接相关。它不会直接受到先前的请求响应的影响。重新响应。
例如,在我们引入cookie验证之前,我们进入了页面登录操作。从理论上讲,我们必须完成登录名来执行后续操作。相关。然后,我们还可以通过页面完成交互式工作,从而失去登录操作的含义。
描述就像一见钟情的句子很有趣。对于服务器,每个请求都是全新的。
状态可以理解为客户和服务器在特定会话中生成的数据,而那些没有状态的人认为这些数据不会保留。会话中生成的数据是我们需要保存的数据,“保持状态”。所以cookie出生在这样的场景中。
cookie专门指的是一个小信息,该信息是服务器发送的组键对以存储在浏览器上。下次您访问服务器时,浏览器将自动携带这些钥匙值对,以提取服务器的有用信息。
cookie的工作原理是:生成服务器的内容,并且在收到请求后本地存储浏览器;再次访问浏览器时,浏览器将自动带上cookie,以便服务器可以通过cookie的内容进行判断。”
我们使用Chrome浏览器打开开发人员工具。
设置cookie,rep是获得响应的对象
rep.set_cookie(键,值,...)
rep.set_signed_cookie(key,value,salt ='加密盐',max_age = none,...)
获取cookie
request.cookies ['key']
request.get_signed_cookie(key,default = rish_error,salt ='',max_age = none)
为了进一步了解cookie的用法,我们有一个从浅层到深处的案例。
输入页面登录操作。登录成功后,页面会跳跃并提示登录成功。同时,将cookie以钥匙值对传递到浏览器。当输入时,浏览器将确定如果有cookieotherwise,则用户将再次登录,从而意识到登录页面和主页之间的连接。
从下面的图可以看出,因为找不到饼干,它们跳到页面上。正确登录后,返回主页
实际上,我们必须在登录主页后运行页面,并且有很多页面。由于实现函数相同(即,多页面通过cookie关联),因此我们需要制作一个函数装饰符。(RESQUEST)(RESQUEST)功能装饰中的相应功能会尽快调用。
步骤1:功能装饰
第2步:
当我们输入时,因为浏览器找不到cookie,根据redirect('/login/?next = {}'。格式(next_url))跳了
本质
1. cookie设置
2. cookie阅读
3.注意饼干问题
1.当我们设置cookie时,我们需要注意:
编码的原因是,当用户名是变量时,该变量未指定属性:'noneype'对象没有属性“ split”异常
2.阅读cookie时,您需要注意:
假设我们在步骤1中设置的cookie值等于“ ABC123”,那么2中读取的内容是:b'ABC123',stringusercookie在1中用作用户名,但使用字符串的索引切片来处理处理。它并将其恢复为1的内容,然后才能使用。其中一种方法如下:
cookie和会话之间的区别:
1. Cookie数据存储在客户的浏览器上,并且会话数据放在服务器上。
2. cookie不是很安全。其他人可以分析当地的饼干和饼干以欺骗
考虑使用安全性。
3.会话将在一定时间内存储在服务器上。访问次数增加后,它将占用服务器的性能
考虑到服务器的性能,应使用cookie。
4.单个cookie保存的数据不能超过4K。许多浏览器限制了一个站点以节省多达20个cookie。
5.因此,个人建议:
保持重要信息,例如登录信息作为会话
如果需要保留其他信息,您可以将其放入cookie中
保存数据并从JS到Cookie的数据的方法如下:
功能GetCookieval(偏移)
//获得cookie解码后的值
{{{
var endstr = document.cookie.indexof(“;”,offset);
if(endstr == -1)
endstr = document.cookie.length;
返回unescape(document.cookie.substring(Office,endStr));
}
// ------------------------------------------------------------------------------------------------------------------------
功能setCookie(名称,值)
//设置cookie值
{{{
var expdate = new Date();
var argv = setCookie.arguments;
var argc = setCookie.arguments.length;
var everes =(argc 2)?argv [2]:null;
var Path =(ARGC 3)?argv [3]:null;
var域=(argc 4)?argv [4]:null;
var secure =(argc 5)?argv [5]:false;
if(Expires!= null)expdate.setTime(expdate.getTime() +(Expires * 1000));
document.cookie = name +“ =” +逃脱(value) +((expires == null)?
+((路径== null)?
+((secure == true)?” ;; secure':“”);
}
// ------------------------------------------------------------------------------------------------------------------------------------------------
功能DelCookie(名称)
//删除cookie
{{{
var exp = new Date();
exp.setTime(exp.getTime()-1);
var cval = getCookie(name);
document.cookie = name +“ =” + cval +“; expires =” + exp.togmtring();
}
// -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
功能GetCookie(名称)
//获取cookie的原始价值
{{{
var arg =名称 +“ =”;
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
而(我上课)
{{{
var j = i + alen;
if(document.cookie.substring(i,j)== arg)
返回getCookieval(j);
i = document.cookie.indexof(“”,i) + 1;
如果(i == 0)休息;
}
返回null;
}
SetCookie(“用户名1”,99);
警报(getCookie(“ username1”);
结论:以上是首席CTO汇编的Django相关内容的摘要,请注意Django与cookie中存款数据的相关内容有何关系。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?
