快速了解Python开发中的cookie及简单代码示例

yipeiwu_com6年前Python基础

cookie :是用户保存在用户浏览器端的一对键值对,是为了解决http的无状态连接。服务端是可以把 cookie写到用户浏览器上,用户每次发请求会携带cookie。

存放位置:

每次发请求cookie是放在请求头里面的。

应用场景:

·登陆用户和密码的记住密码
·显示每页显示的数据,以后都是按照设定的数目显示
·投票机制

案例用户登录

创建用户登录的url

url(r'^login/', views.login),

创建登录页面

代码为:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>登陆页面</title>
  <link rel="stylesheet" href="/static/bootstrap-3.3.7-dist/css/bootstrap.css" rel="external nofollow" >
  <link rel="stylesheet" href="/static/jquery-3.2.1.min.js" rel="external nofollow" >
</head>
<body>
  <form action="/login/" method="post">
    <input type="text" name="username" placeholder="用户名">
    <input type="text" name="password" placeholder="密码">
    <input type="submit" value="提交">
  </form>

</body>
</html>

创建后台函数方法

代码为:

def login(request):
  if request.method == "GET":
    return render(request,'houtaiguanli/login.html')
  else:
    user = request.POST.get('username')
    pwd = request.POST.get('password')
    if user == 'ke' and pwd == '123':
      obj = redirect('/classes/')
      obj.set_cookie('ticket','dafadfafaf')
      return obj
    else:
      return render(request,'houtaiguanli/login.html')

这里设计登录成功后可以正常访问班级页面即“classes”,所以要在班级方法那里做个判断。如果判断为用户已经登录,则可以正常访问。判断用户没有正常登录,则让它跳转到登录页面继续登录

这里就是通过设置cookie,发送给用户的浏览器。用浏览器在进行新的请求时携带着cookie来的。

set_cookies的语法
Set-cookie:name=name;expires=date;path=path;domain=domain;secure name=name: 需要设置cookie的值(name不能使用“;”和","号),有多个name值时用";"分隔例如:name1=name1; name2=name2;name3=name3。
expires=date: cookie的有效期限,格式: expires="Wdy,DD-Mon-YYYY HH:MM:SS" 
path=path: 设置cookie支持的路径,如果path是一个路径,则cookie对这个目录下的所有文件及子目录生效,例如:path="/cgi-bin/",如 果path是一个文件,则cookie指对这个文件生效,例如:path="/cgi-bin/cookie.cgi"。
domain=domain: 对cookie生效的域名,例如:domain="gzdzw.51.net"
secure: 如果给出此标志,表示cookie只能通过SSL协议的https服务器来传递。
cookie的接收是通过设置环境变量HTTP_COOKIE来实现的,CGI程序可以通过检索该变量获取cookie信息。

cookie 也可以做加密的

添加salt

后台拿去的时候解密

浏览器查看

总结

以上就是本文关于快速了解Python开发中的cookie及简单代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形

PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形

在之前介绍PyQtGraph的文章中,我们都是一次性的获取数据并将其绘制为图形。然而在很多场景中,我们都需要对实时的数据进行图形化展示,比如:股票的实时行情、仪器设备的实时状态等,这时候...

opencv python 傅里叶变换的使用

opencv python 傅里叶变换的使用

理论 傅立叶变换用于分析各种滤波器的频率特性,对于图像,2D离散傅里叶变换(DFT)用于找到频域.快速傅里叶变换(FFT)的快速算法用于计算DFT. 于一个正弦信号,x(t)=Asin(...

配置 Pycharm 默认 Test runner 的图文教程

配置 Pycharm 默认 Test runner 的图文教程

如下所示: 由图中可见,当前使用的是 unittest 测试框架 修改方式如下: 以上这篇配置 Pycharm 默认 Test runner 的图文教程就是小编分享给大家的全部...

python模拟事件触发机制详解

本文实例为大家分享了python模拟事件触发机制的具体代码,供大家参考,具体内容如下 EventManager.py # -*- encoding: UTF-8 -*- # 系统模...

用Python实现QQ游戏大家来找茬辅助工具

用Python实现QQ游戏大家来找茬辅助工具

好久没写技术相关的文章,这次写篇有意思的,关于一个有意思的游戏——QQ找茬,关于一种有意思的语言——Python,关于一个有意思的库——Qt。 这是一个用于QQ大家来找茬(美女找茬)的...