快速开始(Getting Started)

在我们开始之前,请确保您使用的是 Python3.7 或更高版本。目前已知可以使用的 Python 版本包括:3.7,3.8 和 3.9。

安装(Install)

pip install sanic

Hello, world 应用(Hello, world application)

如果您熟悉其他任意一款基于装饰器的框架,那么您可能对此感觉有些亲切。

tip 小提示

如果您来自 Flask 或其他框架,则需要指出一些重要的事情。 请记住,Sanic 旨在提高性能、灵活性和易用性。 这些指导原则对 API 及其工作方式产生了重要影响。

from sanic import Sanic
from sanic.response import textapp = Sanic("MyHelloWorldApp")@app.get("/")
async def hello_world(request):return text("Hello, world.")

注意(Important to note)

  • 每一个请求响应函数都可以使用同步方式(def hello_world)和异步方式(async def hello_world)进行声明。除非您有一个明确的需求和完善的使用方法,否则的话,请尽量使用 async 来声明响应函数。

  • request 对象始终是响应函数的第一个参数。 其他框架在需要导入的上下文变量中进行传递。 在 async 的世界里,如果使用隐式传递,那么它将无法完美的运行,更何况还要兼顾简洁且高效的表现形式。所以我们在这里进行显式传递。

  • 必须 使用 Response 或继承自 Response 的类作为响应类型。在许多其他框架中,它们允许您使用诸如 return "Hello World" 或者 return {"foo":"bar"} 的方式来进行返回,但是为了执行这类隐式调用,需要在响应流程中的某个位置花费大量的时间来确定您到底想要表达什么意思。因此,我们以轻松调用为代价,来提升服务的响应速度,Sanic 会要求您对您的响应进行显式调用。

运行(Running)

让我们将上面写好的文件保存为 server.py, 然后运行它。

sanic server.app

tip 小提示

这是 另一个 重要的区别。其他框架带有一个内置的开发服务器,并明确表示它只用于开发。而 Sanic 的情况恰好相反。

可以用于生产环境的服务器已经准备就绪

Sanic 拓展(Sanic Extensions)

Sanic 致力于构建一个简洁且没有任何偏见的特征表。该项目不想要求您以某种方式构建应用程序,并试图避免指定特定的开发模式。有许多由社区构建和维护的第三方插件,用于添加不符合核心库要求的附加功能。

但是,为了 帮助 API 开发者 ,Sanic 组织维护了一个名为 Sanic Extensions 的项目来提供各种易用的功能,包括:

  • OpenAPI 使用 Redoc 和/或 Swagger 的文档
  • CORS 保护
  • 依赖注入 路由处理程序
  • Request 参数 检查
  • 自动创建 HEAD, OPTIONS, 和 TRACE 响应函数
  • 响应序列化

安装它的首选方法是与 Sanic 一起安装,当然您也可以单独安装。

$ pip install sanic[ext]
$ pip install sanic sanic-ext

从 v21.12 开始,如果在相同的环境中,Sanic 将自动设置 Sanic 扩展。您可以通过以下的两种方式来进行访问拓展功能:

  • app.extend() - 用于配置 Sanic 拓展
  • app.ext - 注入到应用程序的扩展实例

请查看 插件文档 来了解如何使用拓展插件。

sanic教程-快速开始安装相关推荐

  1. python sanic教程_Sanic教程:快速开始

    快速开始 在安装Sanic之前,让我们一起来看看Python在支持异步的过程中,都经历了哪些比较重大的更新. 首先是Python3.4版本引入了asyncio,这让Python有了支持异步IO的标准库 ...

  2. Git快速入门篇—— Windows版本淘宝镜像快速下载安装详细步骤及简单入门教程(附带图文教程)

    Git快速入门篇-- Windows版本淘宝镜像快速下载安装详细步骤及简单入门教程(附带图文教程) 前言:我们平时在整理代码的时候,尤其是与别人一起开发项目的时候,常常涉及到代码的更新,因此代码版本问 ...

  3. php编译7教程,PHP7 快速编译安装

    PHP7正式版发布啦, 之前没有安装过的,都来安装试一试 . 即将发布的ThinkPHP5 在PHP7环境下也完全兼容, 佩服鸟哥把兼容性做得这么好 快速编译安装PHP7步骤: 第一步: 安装必要一些 ...

  4. c mysql安装教程视频_MySQL安装教程 - Windows安装MySQL教程 - 小白式安装MySQL教程 - 青衫慧博客...

    版权声明 本文转发自旧站点萧瑟云日志,近期考虑准备将旧站进行关闭(没有精力维护),部分文章将会迁移至本站.文章发表于:2017-10-28 12:32:03 前言 上次给大家带来了SQL Server ...

  5. 计算机应用软件安装教程,计算机应用与网基础教程 常用软件安装.ppt

    计算机应用与网基础教程 常用软件安装 [内容提示] 两者的区别是,"选项1"是将压缩文件直接解压,里面包含的所有文件都分布在当前目录,导致文件散乱,不便于管理,如中图所示,所以一般 ...

  6. python安装方法_【Python教程】Windows10 安装Python

    在此教程中,我们将学习一步一步在windows10 系统安装Python环境. 首先访问官网: https://www.python.org/downloads/ 点击下载,下载安装包.双击后有两个选 ...

  7. Hadoop学习笔记——入门教程(虚拟机安装LinuxHadoop环境搭建配置)

    文章目录 一.Hadoop安装配置文档及注意事项 二.Hadoop概述 2.1.Hadoop是什么 2.2.Hadoop的发展历史 2.3.Hadoop三大发行版本 2.3.1 Apache Hado ...

  8. Git安装教程(Windows安装超详细教程)

    Git安装教程(Windows安装超详细教程)  weir_will 关注 0.9 2017.10.08 00:59* 字数 728 阅读 17955评论 8喜欢 41 2018年4月14日更新  更 ...

  9. 在线安装计算机应用软件,计算机应用与网络基础教程 常用软件安装new.ppt

    计算机应用与网络基础教程 常用软件安装new.ppt [内容提示] 两者的区别是,"选项1"是将压缩文件直接解压,里面包含的所有文件都分布在当前目录,导致文件散乱,不便于管理,如中 ...

最新文章

  1. 划分vlan,制作trunk口。使同一vlan能互相通讯
  2. hmr webpack 不编译_一文搞懂 webpack HMR 原理
  3. uoj 118 赴京赶考
  4. 热力地图高德_高德地图:最新动态
  5. adf时间作用域_ADF任务流:页面片段的托管bean作用域
  6. 向其他进程注入代码的三种方法
  7. redis笔记_源码_双端链表list
  8. java将图片传给页面,java将图片传为设定编码值显示(可做刺绣)
  9. java中的与或运算
  10. 移动端ajax分页,移动端分页加载 - 花乐天的个人空间 - OSCHINA - 中文开源技术交流社区...
  11. 爱情六十六课,自我救赎
  12. struts+spring+mybatis介绍
  13. Git撤销操作之使用--amend改写单次提交
  14. 第一章 数字图像基础知识(图像的空间分辨率和幅度分辨率)
  15. 64位系统装32位计算机,32位的cpu能不能装64位系统|cpu是32位的可以装64位系统吗...
  16. iOS开发者 如何突破自身技术瓶颈,成为别人眼中的 架构师?
  17. 分布式专题——接口幂等性实战
  18. 为什么大家都喜欢使用宝塔面板?
  19. 5-36V输入自动升降压PD快充方案图纸30W低成本芯片
  20. 【SpringBoot】 日志框架冲突

热门文章

  1. c语言自定义关键词,C语言关键字详解
  2. 2023年软考信息安全工程师备考学习笔记汇总
  3. C语言中c2664错误,【求助贴】c++错误error C2664
  4. 用友U8案例教程存货核算前台操作
  5. [转] 更有效的利用你的时间
  6. [线性代数]行列式(mooc秦静老师讲解)
  7. 如何熟练掌握分子动力学LAMMPS软件模拟
  8. nvm下载node版本缓慢问题
  9. Keil uVision5 5.38官方下载、安装及注册教程
  10. RemObjects Elements多用途软件开发工具链