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

1,sanic框架是做什么的?

  • sanic的官方网址:https://sanic.readthedocs.io/en/latest/

  • sanic框架是一个类似于flask框架的在Python3.5以上版本的文本服务器,他能够快速的编写,它是通过惊人的开发效率完成开发,希望通过这篇文章得到激励

sanic框架的理念是:简单,高效

sanic的应用如上图,类似于flask.

2,下载使用sanic框架

  • 在下载之前要确保有pip并且版本是最新的,Python版本是3.5以上的版本,Sanic框架使用的是全新的异步非阻塞框架,因此,早期的Python版本不能运行.

 

  1. 下载Sanic: pip3 install sanic
  2. 我在下载的时候遇到一个错误 "

  error: Microsoft Visual C++ 14.0 is required...

  "

于是就得去微软官网下载visualcppbuildtools_full.exe,但是安装程序需要4GB的空间,,so官网下载很慢!百度有别人下好的包,拿过来安装上就好了(傻瓜式安装即可)

然后再pip3 下载就好了

 在安装Sanic的时候不需要uvloop或者ujson,你可以同时提供这俩作为环境变量,使用真确的字符串('y', 'yes', 't', 'true', 'on', '1'),并且设置()SANIC_NO_X (X = UVLOOP/UJSON)为true,那样将会停止特征的下载.

  • SANIC_NO_UVLOOP=true SANIC_NO_UJSON=true pip3 install sanic

2,创建一个Sanic文件:

from sanic import Sanic
from sanic.response import json# 实例化一个Sanic对象
app = Sanic()# 服务开启的路由
@app.route("/")
async def test(request):return json({"hello": "Sanic"}) # 指定开启服务的主机和端口 if __name__ == '__main__': app.run(host="127.0.0.1", port=8000)

3,运行这个py文件即可(右击运行 Python3 main.py)

4, 查看浏览器:在浏览器的网址输入相应的ip和端口即可,就会收到{"hello":"Sanic"}

5,Sanic的配置相关 

 

任何合理的复杂的应用,都需要配置,,但是不会变成实际运行的代码,设置将会根据不同的环境和下载方式而改变(便于代码的维护)

Sanic在应用项目中保留配置的属性,配置属性仅仅是一个名目的文件,是项目相关点的表示,就好比一个字典的目录

Sanic的配置实际上就是一个字典,你可以用这个字典更新方法为了方便的一次设置多个值.(如上式是数据库的配置)

通常来说,按照惯例配置的参数的字母要全部大写,这种方法描述在加载下,才会被认为是配置的参数

6,怎样加载项目的相关配置

  • 第一种方法是:从环境变量中导入
  • 任何用SANIC_为前缀定义的变量,都会被应用到sanic的配置中,比如:在settings中SANIC_REQUEST_TIMEOUT将会被自动地加载到应用中,且会向在请求超时提供配置参数,你可以通过不同的前缀来应用到sanic中

app = Sanic(load_env="MYAPP_")

在超过变量即将会变成MYAPP_REQUEST_TIMEOUT,如果你想禁用加载环境变量的方法,你可以将load_env=False

  • 第二种从模块或者包中导入配置参数

假如项目有很多的配置参数,,最好写一个配置文件挥着包来导入到实例化的sanic的文件中,也可以写一个类

  • 第三种方法,是将配置文件导入

通常你将会从一个文件中加载配置,那样是基于不是分布式的应用的时候,你可以使用from_pyfile(/path/to/config_file)从文件中记载配置参数,然而,这样是需要参数知道配置路径,因此代替你指定的配置文件的额位置,在环境变量中,并且要告诉sanic找到指定的配置文件

配置文件符合Python的文件的规则为了被执行,这就需要你使用任意的逻辑去设立正确的配置,仅仅支持大写字母的参数被添加到配置文件中,大部分通常包含单一的键值.

  • 内置的配置值

当创建sanic应用的时候,超出以上这个表格的参数,是预定很少值可以被超过.

转载于:https://www.cnblogs.com/ljc-0923/p/10391779.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248509.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

首秀 Express 框架

文章目录框架特性express的使用初始化项目:下载框架模块:测试代码:总结以上代码:请求处理的中间件概念:中间件——app.use基本用法:next的用法app.use中间件的应用路由的保护网站维护公告自定义404&#xf…

云原生技能树测评

前言 利用午休后的10多分钟时间,看了看APP的技能树板块,简单的提出几个看法! 答题过程 可以设置为闯关类型,答对一道后可以进入下一关,或者是一个章节为一关,让大家一直有一种期待 回答错误数量 可以…

原型和闭包

原型和闭包 一切皆对象 一切皆对象(类型值除外) undefined, number, string, boolean属于简单的值类型 函数、数组、对象、new Number(10)都是对象。他们都是引用类型 Null是基本数据类型,不是引用数据类型 基本数据类型的值就是它本身的值&a…

一文教会你何为重绘、回流?

文章目录css图层图层创建的条件重绘(Repaint)回流触发重绘的属性触发回流的属性常见的触发回流的操作优化方案requestAnimationFrame----请求动画帧写在最后学习目标: 了解前端Dom代码、css样式、js逻辑代码到浏览器展现过程了解什么是图层了解重绘与回流了解前端层…

js函数、js对象的这些点你真的懂吗?

本篇学习目标 ✨了解函数(高级)原型原型链概念\textcolor{green}{了解函数(高级)原型原型链概念}了解函数(高级)原型原型链概念 ✨掌握函数作用域\textcolor{green}{掌握函数作用域}掌握函数作用域 ✨掌握…

前端处理跨域的几种方式

什么是跨域&#xff1f; 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源&#xff0c;这里跨域是广义的。 广义的跨域&#xff1a; 1、资源跳转&#xff1a;A链接、重定向、表单提交 2、资源嵌入&#xff1a; <link>、<script>、<img>、<frame&g…

程序员必知的缓存套图

文章目录1. 线程与进程1.1 进程:1.2. 线程:1.3. 关系2. 浏览器内核模块组成4. 事件循环机制5. 缓存5.1. 缓存理解5.2. 缓存分类5.3. 缓存使用示意图5.4. 缓存中的header参数1. 线程与进程 1.1 进程: 进程是计算机中的程序关于某数据集合上的一次运行活动&#xff0c;是系统进…

安装webpack及使用

前言 你是否也是只会运用框架中集成好的Webpack配置呢&#xff1f;你明白每一项的意义么&#xff1f;你懂多少Webpack的个性化配置项呢&#xff1f;本篇文章为你讲解Webpack中的各种配置项参数及作用&#xff01; 文章目录了解Webpack相关开启项目编译打包应用使用webpack配置…

php单例型(singleton pattern)

搞定&#xff0c;吃饭 <?php /* The purpose of singleton pattern is to restrict instantiation of class to a single object. It is implemented by creating a method within the class that creates a new instance of that class if one does not exist. If an obje…

助你提高效率的几个Vue指令

前言 很多使用Vue的同学往往最容易忽略的指令&#xff0c;由于在这里考虑到很多初学甚至还没有开始接触Vue的同学呢&#xff0c;在介绍v-clos之前呢就先以大家都熟知的v-model编写小demo v-model 相信大家对v-model并不陌生&#xff0c;简单来讲他就是用于在表单控件以及组建…

掌握Mock摆脱后端同学的束缚

文章目录前言Mock概述mock.js安装Mock规范Mock的使用总结前言 当下采用前后端分离模式开发Web应用已经成为气候&#xff0c;在开发阶段有一个不成文的规定则是 项目开发后端先行 但是作为前端开发工程师的我们&#xff0c;难道在搭建完页面后只能等待后端的接口么&#xff1f;…

Vue技能树上线啦

前言 前端现在越来越多样化&#xff0c;语言众多&#xff0c;大家使用的框架也比较杂&#xff0c;在广泛的前端技术栈面前我唯爱Vue&#xff08;仅代表个人观点勿喷小伙伴们&#xff09;可能很多人觉得我是因为简单&#xff0c;其实并不然&#xff0c;我尝试过很多框架&#x…

《SpringMVC从入门到放肆》一、概述

一、SpringMVC概述 ViewServiceDaoDBSpring MVCinterfaceinterfaceMysqlimplsimplsSpringMVC也叫Spring web mvc&#xff0c;属于表现层框架。SpringMVC是Spring框架的一部分&#xff0c;是在Spring3.0后发布的。 二、第一个SpringMVC程序功能描述&#xff1a;  用户提交一个…

手握流量密码,万粉不是梦

前言 可能大家来到CSDN的目的初衷都是不一样的&#xff0c;像我注册CSDN的时候完全是为了解决自己项目中的各种问题&#xff0c;能够有一个为我提供正确答案、正确解决方案的一个平台&#xff0c;简单的了解后我选择CSDN&#xff0c;直到成为现在的创作者也说明我的选择是对的…

秋季学期学习总结

转载于:https://www.cnblogs.com/zx666/p/10408950.html

一文带你了解React框架

前言 由于 React的设计思想极其独特&#xff0c;属于革命性创新&#xff0c;性能出众&#xff0c;代码逻辑却非常简单。所以&#xff0c;越来越多的人开始关注和使用&#xff0c;认为它可能是将来 Web 开发的主流工具。 这个项目本身也越滚越大&#xff0c;从最早的UI引擎变成…

Web前端JQuery面试题(一)

Web前端JQuery面试题&#xff08;一&#xff09; 一&#xff1a;选择器 基本选择器 什么是#id&#xff0c;element&#xff0c;.class&#xff0c;*&#xff0c;selector1, selector2, selectorN&#xff1f;答&#xff1a; 根据给定的id匹配一个元素&#xff0c;用于搜索&…

前端云原生——微信小程序云服务配置

前端同样涉及云原生前言创建使用云开发项目搭建云环境测试云服务1. 获取openid&#xff08;上传本地login云函数&#xff09;1.1 创建部署login文件时报错2. 自定义sum函数并创建部署3. 上传图片4. 前端操作数据库5. 即时通信demo面试法宝欢迎各位小伙伴们&#xff01; 为大家推…

45天带你玩转Node(第一天)初探Node.js

45天带你玩转Node 粉丝要求博主系统的写一篇关于Node.js的学习资料&#xff0c;但其实我们的Node.js知识点并不少&#xff0c;所以博主为大家搭建了一个专栏&#xff0c;为了方便大家系统的学习Node.js&#xff0c;大家记得订阅哦&#xff01;虽然我们的Node.js还很年轻&#…

【转载】 安卓版手机微信如何清理微信空间

在手机微信的使用过程中&#xff0c;随着手机微信使用的时间越长&#xff0c;手机微信占用的空间越大&#xff0c;其实手机微信存储了很多聊天记录包括图片、视频等大文件信息&#xff0c;此时如果手机存储空间比较紧张&#xff0c;可以使用微信自带的清理工具对手机微信空间进…