Django基于PythonWeb的Django框架设计实现天天生鲜系统-6Django中Cookie存取

Posted Vax_Loves_1314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django基于PythonWeb的Django框架设计实现天天生鲜系统-6Django中Cookie存取相关的知识,希望对你有一定的参考价值。

Cookie

Cookie 指某些网站为了辨别用户身份、在用户本地终端上存储的数据(通常经过加密).

Cookie 最早是网景公司的前雇员 Lou Montulli 在1993年3月的发明. Cookie 是由服务器端生成, 发送给 User-Agent(一般是浏览器), 浏览器会将 Cookie 的 key/value 保存到某个目录下的文本文件内, 下次请求同一网站时就发送该Cookie 给服务器(前提是浏览器设置为启用cookie). Cookie 名称和值可以由服务器端开发自己定义.

Cookies最典型的应用是判定注册用户是否已经登录网站, 用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续, 这些都是Cookies的功能.

另一个重要应用场合是 "购物车" 之类处理. 用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品, 这些信息都会写入 Cookie, 以便在最后付款时提取信息.

Cookie 是存储在浏览器中的一段纯文本信息, 建议不要存储敏感信息如密码, 因为电脑上的浏览器可能被其它人使用.

Cookie以键值对的格式进行信息的存储.

简言之, cookie 是键值对数据, 在服务器产生, 存储在用户的浏览器. 用户每次请求网站, 都会将本地存储的该网站的 cookie 数据发到服务器端.

设置 Cookie:

HttpResponse.set_cookie(key,
                        value='',
                        max_age=None,
                        expires=None,
                        path='/',
                        domain=None,
                        secure=None,
                        httponly=False)
参数描述
max_age以秒为单位,cookie过期时间
expires应该是一个UTC "Wdy, DD-Mon-YY HH:MM:SS GMT" 格式的字符串, 或者一个 datetime.datetime 对象
domain如果你想设置一个跨域的Cookie, 请使用 domain 参数. 例如,domain=".lawrence.com" 将设置一个www.lawrence.com、blogs.lawrence.com 和calendars.lawrence.com 都可读的 Cookie. 否则, Cookie 将只能被设置它的域读取
httponly如果你想阻止客服端的javascript 访问Cookie,可以设置httponly=True

删除 Cookie

HttpResponse.delete_cookie(key, path='/', domain=None) 

读取 Cookie

HttpRequest.COOKIES, 一个标准的 python 字典, 包含所有的 cookie. 键和值都为字符串.

request.COOKIES[key]
# 或
request.COOKIES.get(key, '')

 

以上是关于Django基于PythonWeb的Django框架设计实现天天生鲜系统-6Django中Cookie存取的主要内容,如果未能解决你的问题,请参考以下文章

Django基于PythonWeb的Django框架设计实现天天生鲜系统-1

Django基于PythonWeb的Django框架设计实现天天生鲜系统-6Django中Cookie存取

Django基于PythonWeb的Django框架设计实现天天生鲜系统-5数据库操作

Django基于PythonWeb的Django框架设计实现天天生鲜系统-4创建视图

Django基于PythonWeb的Django框架设计实现天天生鲜系统-3模型创建

新星计划Django基于PythonWeb的Django框架设计实现天天生鲜系统-10订单提交成功页面功能实现