Django 设置cookies与获取cookies.
By:Roy.LiuLast updated:2014-02-11
在Django里面,使用Cookie和Session看起来好像是一样的,使用的方式都是request.COOKIES[XXX]和request.session[XXX],其中XXX是您想要取得的东西的key, 很久以前,写过一篇 django怎么处理session 的文章:django 自定义session 处理, 今天对cookies 进行了同样的操作:
使用模板的情况和不使用模板的情况都做了测试, 可以向浏览器设置cookies, 在客户端可以用javascript 取出来:
用上面的javascript 函数可以取出cookies, 如果需要在django 里面取出 cookies 呢,也很简单:
同样的道理,也可以用 javascript 写 cookies,
上面总结了用 django 读写cookies 与 用javascript 读写cookies. 根据不同的情况, 这两种方法是经常混合在一起使用的.
from django.template import loader ,Context from django.http import HttpResponse def main(request): #不用模板 response= HttpResponse('test') response.set_cookie('my_cookie','cookie value') return response def main(request): #用模板 response= render_to_response('xxxx.html', {}) response.set_cookie('my_cookie','cookie value') return response
使用模板的情况和不使用模板的情况都做了测试, 可以向浏览器设置cookies, 在客户端可以用javascript 取出来:
function getCookie(c_name) { if (document.cookie.length>0) { c_start=document.cookie.indexOf(c_name + "=") if (c_start!=-1) { c_start=c_start + c_name.length+1 c_end=document.cookie.indexOf(";",c_start) if (c_end==-1) c_end=document.cookie.length return unescape(document.cookie.substring(c_start,c_end)) } } return "" }
用上面的javascript 函数可以取出cookies, 如果需要在django 里面取出 cookies 呢,也很简单:
value = request.COOKIES["cookie_key"]
同样的道理,也可以用 javascript 写 cookies,
function setCookie(c_name,value,expiredays) { var exdate=new Date() exdate.setDate(exdate.getDate()+expiredays) document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString()) }
上面总结了用 django 读写cookies 与 用javascript 读写cookies. 根据不同的情况, 这两种方法是经常混合在一起使用的.
From:一号门
Previous:spring3 restful 服务迁移到 spring4需要注意的事项
Next:软件开发规范, 各种软件开发文档模板下载
COMMENTS