Sanic框架Cookies操作示例

yipeiwu_com6年前Python基础

本文实例讲述了Sanic框架Cookies操作。分享给大家供大家参考,具体如下:

简介

Sanic是一个类似Flask的Python 3.5+ Web服务器,它的写入速度非常快。除了Flask之外,Sanic还支持异步请求处理程序。这意味着你可以使用Python 3.5中新的闪亮的异步/等待语法,使你的代码非阻塞和快速。

在上一篇《Sanic框架配置》中已经讲到,如何在Sanic进行相关的配置,接下来将介绍一下Sanic的Cookies的使用,Cookies是用户浏览器内部的一些数据,Sanic可以写入和读取存储为键值对的Cookie

写入Cookies

在返回响应时,可以在Response对象上设置Cookie:

from sanic.response import text
@app.route("/set_cookie")
async def set_cookie(request):
  response = text("set cookie success")
  response.cookies["test"] = "test"
  return response

Cookie可以像字典一样设置,并且具有如下参数:

  • expires:过期时间,Cookie在客户端浏览器上过期的时间
  • path:此Cookie使用的URL的子集。默认为/
  • comment:评论(元数据)
  • domain:Cookie的有效域
  • max-age:Cookie的活跃秒数
  • secure:指定Cookie是否仅通过HTTPS发送
  • httponly:指定Cookie是否不能被Javascript读取

举个例子:

@app.route("/set_cookie")
async def set_cookie(request):
  response = text("set cookie success")
  response.cookies["test"] = "test"
  response.cookies["test"]["max-age"] = 10
  return response

设置此Cookie的活跃秒数为10,反复获取此Cookie会发现,过了10s后此Cookie不存在了

读取Cookies

用户的Cookie可以通过Request对象的cookies字典进行访问:

from sanic.response import text
@app.route("/get_info")
async def get_info(request):
  test = request.cookies.get("test")
  return text("cookie:{}".format(test)

删除Cookies

可以在语义上或明确的删除Cookie

from sanic.response import text
@app.route("/del_info")
async def del_info(request):
  response = text("delete cookie success")
  del response.cookies["test"]
  return response

更多关于Python相关内容可查看本站专题:《Python入门与进阶经典教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

详解DeBug Python神级工具PySnooper

PySnooper 在 GitHub 上自嘲是一个“乞丐版”调试工具(poor man's debugger)。 一般情况下,在编写 Python 代码时,如果想弄清楚为什么 Pytho...

python assert的用处示例详解

使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单。在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如...

Python骚操作之动态定义函数

在 Python 中,没有可以在运行时简化函数定义的语法糖。然而,这并不意味着它就不可能,或者是难以实现。 from types import FunctionType foo_c...

浅谈Django2.0 加xadmin踩的坑

如果是django2.0 必须下载xadmin2.0 不然很多地方不兼容 xadmin2.0下载地址 https://github.com/sshwsfc/xadmin/tree/dja...

Python实现变声器功能(萝莉音御姐音)

Python实现变声器功能(萝莉音御姐音)

登录百度AL开发平台 在控制台选择语音合成 创建应用 填写应用信息 在应用列表获取(Appid、API Key、Secret Key) 6. 安装pythonsdk 安装使用P...