1,sanic框架是做什么的? sanic的官方网址:https://sanic.readthedocs.io/en/latest/ sanic框架是一个类似于flask框架的在Python3.5以上版本的文本服务器,他能够快速的编写,它是通过惊人的开发效率完成开发,希望通过这篇文章得到激励 sanic框架的理念是:简单,高效 sanic的应用如上图,类似于flask. 2,下载使用sanic框架 在下载之前要确保有pip并且版本是最新的,Python版本是3.5以上的版本,Sanic框架使用的…
1,示例 这部的文档是简单的示例集合,它能够帮助你快速的启动应用大部分的应用,这些应用大多事分类的,并且提供给ini工作的连接代码: 1.1,基础示例 这部分示例集成了提供简单sanic简单的代码 单一APP 一个简单的sanic应用with一个简单的异步方法通过text和json类型的响应. from sanic import Sanic from sanic import response as res # 实例化Sanic对象 app = Sanic(__name__) # 服务器访问的路…
1,Deploying(部署) 通过内置的websocket可以很简单的部署sanic项目,之后通过实例sanic.Sanic,我们可以运行run这个方法通过接下来的关键字参数 host (default "127.0.0.1"): Address to host the server on. 默认的主机ip是127.0.0.1 port (default 8000): Port to host the server on. 默认的端口是8000 debug (default Fals…
1,Custom Protocol:自定义协议 温馨提示:自定义协议是一个高级用法,大多数的读者不需要用到此功能 通过特殊的自定义协议,你可以改变sanic的协议,自定义协议需要继承子类asyncio.protocol,这个子类在sanic.run方法中传输关键字protocol协议 自定义协议的构造类从sanic中接收关键字参数. loop: an asyncio-compatible event loop.(循环:异步兼容事件循环) connections: a set to store p…
1,静态文件 就向图片文件一样,静态文件和指导性的文件,当通过Sanic服务端用app.static()方法注册的时候,这种方法采用端点url和文件名称获得.这样的文件的指定,将会通过指定的端点访问. from sanic import Sanic from sanic.blueprints import Blueprint # 实例化一个Sanic对象 app = Sanic(__name__) # 从/static的静态文件中获取静态文件 app.static("/static",…
1,路由,路由相当于一个网址的地址,来确定网址的位置和唯一性 当http://server.url/被允许访问服务器,当最后的"/"通过路由匹配到了业务逻辑处理的函数,将会返回一个json对象 Sanic处理函数必须被定义使用async def语法,作为异步处理的函数 1.1请求参数的处理(Request  Parametres) Sanic框架天生自带一个基本的支持参数的路由 为了特殊的参数,支持引用尖括号来携带参数类似:<PARAM>,请求参数将会被通过路由处理函数作为…
1,sanic的logging: Sanic允许有做不同类型的日志(通过的日志,错误的日志),在基于Python3的日志API接口请求,你必须具备基本的Python3的日志知识,在你如果想创建一个新的配置 2,快速启动: 一个简单的例子使用默认的配置如上所示. 当服务器运行的时候,你能够观察到一些日志信息,就想上式,你也可以向服务器发起一个请求,那样就会打印出消息日志. 为了使用自己的日志配置,简单使用logging.config.dictConfig或者通过log_config当你实例化San…
1,通过docker部署sanic项目 通过Docker和Docker Compose部署SANIC应用程序是一项很容易实现的任务,下面的示例提供了示例simple_server.py的部署 FROM python:3.5 MAINTAINER Channel Cat <channelcat@gmail.com> ADD . /code RUN pip3 install git+https://github.com/channelcat/sanic EXPOSE 8000 WORKDIR /c…
1,ssl 示例: 可选择的SSLContent from sanic import Sanic import ssl context = ssl.create_default_context(purpose=ssl.Purpose.CLIENT_AUTH) # 创建默认的连接环境 context.load_cert_chain("/path/to/cert", keyfile="/path/to/keyfile") app = Sanic() app.run(ho…
1,streaming(流媒体) 1.1请求流媒体 Sanic允许你通过流媒体携带请求数据,如下,当请求结束await request.stream.read()就会返回None,仅仅只有post请求put请求,和patch请求装饰,才会有流媒体参数. from sanic import Sanic from sanic.views import CompositionView # 合成视图 from sanic.views import HTTPMethodView # http协议方法视图…