首页>>后端>>Python->django如何设置cookie(django如何设置请求头)

django如何设置cookie(django如何设置请求头)

时间:2023-12-06 本站 点击:0

导读:本篇文章首席CTO笔记来给大家介绍有关django如何设置cookie的相关内容,希望对大家有所帮助,一起来看看吧。

无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况。

比如我们在没引入cookie验证之前,我们输入 进入页面登录操作,理论上我们必须完成登录后才能进行后续操作,如果服务器不告诉浏览器就是把键值对交给浏览器,让浏览器与服务器建立关联。那么我们输入 同样也可以完成与页面的交互工作,从而失去了登录操作的意义。

一句有意思的话来描述就是人生只如初见,对服务器来说,每次的请求都是全新的。

状态可以理解为客户端和服务器在某次会话中产生的数据,那无状态的就以为这些数据不会被保留。会话中产生的数据又是我们需要保存的,也就是说要“保持状态”。因此Cookie就是在这样一个场景下诞生。

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

cookie的工作原理是:由服务器产生内容,浏览器收到请求后保存在本地;当浏览器再次访问时,浏览器会自动带上Cookie,这样服务器就能通过Cookie的内容来判断这个是“谁”了。

我们使用Chrome浏览器,打开开发者工具。

设置cookie,rep是获取响应的对象

rep.set_cookie(key,value,...)

rep.set_signed_cookie(key,value,salt='加密盐', max_age=None, ...)

获取Cookie

request.COOKIES['key']

request.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None)

为了进一步理解cookie的用法,我们这边由浅到深举个案例

进入页面登录操作,登录成功后页面跳转去 并提示已登录成功,同时将cookie以键值对的方式交付给浏览器,当输入 时浏览器会判断如果有cookie的话就返回提示已登录成功页面,否则让用户重新登录,从而实现了login页面与home页面的关联。

由下图可知 时,因为没找到cookie,所以就跳转到 页面。正确登录后就返回到home页面

在实务中我们登录后要操作页面不限于home页面,还有很多页面,由于实现的功能是一样的(就是把多页通过cookie取得关联)这时我们需要做个函数装饰器,当调用def home(resquest)时第一时间调用函数装饰器里对应的函数。

第一步:函数装饰器

第二步:

我们输入 时,因为浏览器找不到cookies,所以按照redirect('/login/?next={}'.format(next_url)),跳去

Django中cookie的设置和获取以及需要注意的问题

1、cookie的设置

2、cookie的读取

3、cookie使用时注意的问题

     1、我们在设置cookie时,需要注意的地方:

          必须指定编码的原因是当username为变量时,不指定变量会报     AttributeError: 'NoneType' object has no attribute 'split' 异常

      2、在读取cookie时,需要注意的地方:

          假设,第1步中我们设置的cookie值等于"abc123",那么在2中读取到的就是:b'abc123'这样的值,其类型为字符串,在这里,我们就不能直接使用拿到的usercookie当1中的username用,而是要使用字符串的索引切片对其进行处理,将其还原为1中内容,才可以使用,方法之一如下:

Django设置cookie的问题

实在是看不清楚问题,排版太乱了。

到这里看看吧,有最全最新的Django教程,刘江的Django教程

其中的会话session章节或许能解答你的疑问。

新手请教django2.2.3设置cookie返回值为null

set_cookie()方法没有返回值。调用Response.set_cookie()即可给response对象设置cookie。

res = HttpRespnse('OK')

res.set_cookie('abc', 'abc')

return res

cookie怎么设置

1.查询自己所使用的IE版本。

打开IE,点击菜单条上的"帮助"(Help)

在展开的菜单里,选择最下面一条"关于Internet

Explorer"(About

Internet

Explorer)

在弹出的窗口中,Internet

Explorer图片标题下第一行,就是有关版本信息。一般是,4.0,5.0或6.0。

2.如果您使用的是IE

6.0或IE

7.0版本,请按以下几个步骤启用cookie:

点击菜单条上的"工具"(Tool)

在展开的菜单里,选择最下面一条"Internet选项"(Internet

Options)

在打开的Internet

选项设置窗口里,顶上有一条标签栏,点击第三个"隐私"(Privacy)。

在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced)

在弹出的cookie设置窗口里,勾选如下设置:

覆盖自动cookie处理

(Override

automatic

cookie

handling)

第一方cookie:接受

(First-party

cookies:

Accept)

第三方cookie:接受

(Third-party

cookies:

Accept)

总是允许会话cookie

(Always

allow

session

cookies)

点击按钮"确定"(OK),关闭cookie设置窗口

点击按钮"确定"(OK),关闭Internet

选项设置窗口

3.如果您使用的是IE

5.0版本,请按以下几个步骤启用cookie:

点击菜单条上的"工具"(Tool)

在展开的菜单里,选择最下面一条"Internet选项"(Internet

Options)

在打开的Internet

选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。

在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)

在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:

允许使用存储在您计算机上的cookie:启用

允许使用每个对话cookie(未存储):启用

点击按钮"确定"(OK),关闭安全设置窗口

点击按钮"确定"(OK),关闭Internet

选项设置窗口

4.如果您使用的是IE

4.0版本,请按以下几个步骤启用cookie:

从主菜单中选择“查看|Internet

选项...”。

更改至“安全”选项卡。

选择“自定义”,然后单击“设置...”

向下滚动至“安全”部分。

启用方法:选择“总是接受

cookie”

结语:以上就是首席CTO笔记为大家整理的关于django如何设置cookie的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django如何设置cookie的相关内容别忘了在本站进行查找喔。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/15762.html