1,Sanic的返回的响应体

  • 使用Sanic中的response模块去创建响应对象

  • 返回文本response.text文本(直接字符串就ok)

  • 返回html文件,直接response.html文件(类似于Django中的maksafe和flask中的Makeup)

  • 返回json的数据格式,直接返回response.json(字典)

这个是啥意思啊?

滚动文件:对于大型文件,组合文件和流媒体.

页面跳转:response.redirect("路径")里边写路由的地址

修改信息头和状态:为了修改响应头和状态码,通过响应头和状态参数去实现这样过的功能.

响应字节bytes:返回不需要编码的响应体response.raw(b"xuexue")

2,Sanic中的Cookie(一些网站需要身份的验证,因此每一个后端框架必备的是Cookie的携带)

Cookie是一组存在与用户浏览器的数据,Sanic框架既能够读取也能够写入Cookie,存储为一组键值对

警告:

Cookie是随意存储在客户端,因此你可以存储数据就想登录信息,在cookie中,作为记录数据可以自由存在客户端,为了确保数据已经存在于Cookie中没有被篡改在客户端,使用一些类似危险标志密码再数据上.

  • 2.1读取Cookie

一个用户能够接近通过请求对象的Cookie字典

  • 2.2写入Cookie

当返回一个响应,Cookie能够记录响应的Response对象中,在response中赋值一个text,,再在response的cookie中赋值一组键值对即可

  • 2.3删除cookie

Cookie能够被删除

  • 第一种,随即删除Cookie:del response.cookie["kill_me"]
  • 第二种,指定一段时间后消除cookie:response.cookie["short_life"] = "Glad to be here",先指定一下short_life的值,response.cookie["short_life"]["max-age"] = 5(单位是秒,可以是任意 一段时间),然后再删除:del response.cookie["favorite_color"]
  • 第三种能够保留Cookie不变,不论Cookie值怎么变.

sanic官方文档解析之Response和Cookie的更多相关文章

  1. sanic官方文档解析之Custom Protocols(自定义协议)和Socket(网络套接字)

    1,Custom Protocol:自定义协议 温馨提示:自定义协议是一个高级用法,大多数的读者不需要用到此功能 通过特殊的自定义协议,你可以改变sanic的协议,自定义协议需要继承子类asyncio ...

  2. sanic官方文档解析之Example(一)

    1,示例 这部的文档是简单的示例集合,它能够帮助你快速的启动应用大部分的应用,这些应用大多事分类的,并且提供给ini工作的连接代码: 1.1,基础示例 这部分示例集成了提供简单sanic简单的代码 单 ...

  3. sanic官方文档解析之路由

    1,路由,路由相当于一个网址的地址,来确定网址的位置和唯一性 当http://server.url/被允许访问服务器,当最后的"/"通过路由匹配到了业务逻辑处理的函数,将会返回一个 ...

  4. sanic官方文档解析之下载和Configuration

    1,sanic框架是做什么的? sanic的官方网址:https://sanic.readthedocs.io/en/latest/ sanic框架是一个类似于flask框架的在Python3.5以上 ...

  5. sanic官方文档解析之Example(二)

    1,通过docker部署sanic项目 通过Docker和Docker Compose部署SANIC应用程序是一项很容易实现的任务,下面的示例提供了示例simple_server.py的部署 FROM ...

  6. sanic官方文档解析之Deploying(部署)和Extension(扩展)

    1,Deploying(部署) 通过内置的websocket可以很简单的部署sanic项目,之后通过实例sanic.Sanic,我们可以运行run这个方法通过接下来的关键字参数 host (defau ...

  7. sanic官方文档解析之ssl,debug mode模式和test(测试)

    1,ssl 示例: 可选择的SSLContent from sanic import Sanic import ssl context = ssl.create_default_context(pur ...

  8. sanic官方文档解析之streaming(流动,滚动)和class_based_views(CBV的写法)

    1,streaming(流媒体) 1.1请求流媒体 Sanic允许你通过流媒体携带请求数据,如下,当请求结束await request.stream.read()就会返回None,仅仅只有post请求 ...

  9. sanic官方文档解析之websocket(网络套接字)和handle decorators(处理程序装饰器)

    1,websocket(网络套接字) 在websocket上Sanic提供了一种简单使用的抽象化,来设置websocket(网络套接字) from sanic import Sanic from sa ...

随机推荐

  1. Helvetic Coding Contest 2017 online mirror (teams allowed, unrated)

    G. Fake News (easy) time limit per test 1 second memory limit per test 256 megabytes input standard ...

  2. 【java基础 10】hash算法冲突解决方法

    导读:今天看了java里面关于hashmap的相关源码(看了java6和java7),尤其是resize.transfer.put.get这几个方法,突然明白了,为什么我之前考数据结构死活考不过,就差 ...

  3. 【UML】关联、依赖、泛化、实现等关系说明

    导读:再上一篇博客中,介绍了UML的9种图,现在,将对UML中的关系进行总结.图很重要,但图形中的各种关系也很重要,这扯关系的事儿,从来都是大事儿. 一.基本定义 1.1 总体说明 1.2 具体定义 ...

  4. EXPDP/IMPDP任务的查看与管理

    EXPDP/IMPDP相比传统的exp/imp的最本质区别在于服务器端执行,客户端发出指定后,通过API启动服务器的备份job,在执行过程中,可以拿下Ctrl+C组合键,退出当前交互模式,退出之后,导 ...

  5. xmpp 常见错误 一

    #pragma mark - 密码错误,身份验证失败 - (void)xmppStream:(XMPPStream *)sender didNotAuthenticate:(DDXMLElement ...

  6. Codeforces Round #291 (Div. 2) C. Watto and Mechanism [字典树]

    传送门 C. Watto and Mechanism time limit per test 3 seconds memory limit per test 256 megabytes input s ...

  7. 更改App名称

    To change the installed application name, in Xcode: 1. Select your Target on the left side under Gro ...

  8. Yii 之视图数据块

    控制器代码: public $layout = 'common'; public function actionStudent(){ $data = array('page_name'=>'St ...

  9. Oracle 12c在SQL Devolper中添加cdb和pdb连接

    Oracle 12c如果按默认流程安装的话会有一个叫orcl的cdb容器和一个叫pdborcld的pdb容器 一.连接名为orcl的cdb容器 连接名:localorcl 用户名:SYS 口令:Ora ...

  10. 51 NOD 1325 两棵树的问题

    Discription 对于 100% 的数据, N<=50. solution: 发现N比较小,所以我们可以花O(N^2)的代价枚举两颗树的联通块的LCA分别是哪个点,然后现在问题就变成了:选 ...