首页 > TAG信息列表 > Sanic

论如何用python写一个简单的网页api

使用基础: 环境:anaconda IDE:pycharm 使用框架:sanic 官网:https://sanicframework.org/ 1、在anacoda中搭建对应的虚拟环境 创建一个新的虚拟环境:conda create -n webserver python=3.8.5 详情见文章https://blog.csdn.net/qq_43471443/article/details/115269406 2、在pycahrm中搭建

Sanic框架中的同步和异步

app和loop是全局的 可以全局的设置 app.属性 到处取值 后台任务可以添加在后台 如果您希望安排后台任务在循环开始后运行,则Sanic提供了add_task方法可以轻松地做到这一点。 async def notify_server_started_after_five_seconds(app): await asyncio.sleep(5) print(

Sanic二十九:Sanic 扩展之sanic-session的使用

  与flask一样,sanic也有一些自己的扩展,虽然生态不够强大,但基本使用足够了   sanic_session:用于保持会话,当用户的过后,可以将用户数据存到sanic_session里面,以后就可以从sanic_session里面取用户信息,判断用户是否登录过了 sanic_session官方文档:https://sanic-session.readthedocs

Sanic二十七:Sanic + tortoise-orm 之Q对象

  有时候需要进行复杂的查询,但是仅仅靠QuerySet提供的那些方法是完全不够的,tortoise-orm提供了Q对象,用于做复杂的查询   from tortoise.query_utils import Q   1、与:& 若不写连接符,则默认为and   2、或:|   3、非:~  

Sanic二十一:Sanic + tortoise-orm 之模型定义

  Tortoise ORM 是异步的ORM,设计灵感来自 Django,官网:https://tortoise.github.io/   Tortoise ORM 目前支持以下数据库 :  1、PostgreSQL >= 9.4,使用asyncpg  2、SQLite,使用aiosqlite  3、MySQL/MariaDB,使用aiomysql或asyncmy   此时的最新版本:0.17.6   要求:python版本

Sanic二十二:Sanic + tortoise-orm 之使用aerich执行数据库迁移

  在定义了模型,或者对模型进行了一些修改过后,是不会直接映射到数据库,并修改表的,这个时候就需要使用数据看迁移工具,tortoise-orm匹配的数据库迁移工具为aerich aerich没有官网,只能在GitHub上找到源码,源码上有简略的使用方法:https://github.com/tortoise/aerich   安装:pip install

Sanic十九:Sanic 扩展之sanic-openapi生成接口文档之doc提供的一些装饰器

  sanic-openapi除了可以使用app.config来指定一些基础的配置外,sanic-openapi.doc还提供了很多装饰器用法的配置,导入doc模块   1、exclude(True):用此装饰器修饰的路由将不会显示在Swagger中   2、summary():添加接口的概述   3、description():接口描述   4、tag():接

Sanic十八:Sanic 扩展之sanic-openapi生成接口文档之文档配置

  1、设置文档title:API_TITLE   2、设置版本:API_VERSION   3、配置系统描述:API_DESCRIPTION   4、配置服务条款:API_TERMS_OF_SERVICE   5、配置邮件联系方式:API_CONTACT_EMAIL   6、配置许可证:API_LICENSE_NAME   7、配置许可证地址:API_LICENSE_URL   8、配

Sanic十六:Sanic + 异步orm之SQLAlchemy

  Sanic是异步库,想要发挥其强大的性能,当需要使用第三方库的时候,就需要使用异步的库,在python中,异步orm较为常见的就两个可,一个SQLAlchemy,一个Tortoise-ORM SQLAlchemy 在1.4版本之后,已经支持异步了,既然要用异步,那同步库的PyMYSQL肯就就不能满足了,所以需要用异步库aiomysql   SQLA

Sanic十二:Sanic抛出异常、捕获异常、处理

  异常可以从请求处理程序中抛出,并由Sanic自动处理。异常将消息作为其第一个参数,也可以将状态代码返回到HTTP响应中。 Sanic提供了exceptions,里面已经内置了许多常见异常 Sanic源码可见,先是基于Exception封装了一个SanicException,然后再基于SanicException封装了许多常见的异常,同

python学习笔记第13章:web开发之sanic框架

sanic官方中文教程https://sanicframework.org/zh/guide/ 教程不涉及模板等内容,所以用前后端分离架构,后端只返回数据,不渲染模板 架构如下 使用两个服务器软件,sanic自带的软件和nginx sanic服务器软件,运行在5000端口,只接收本机请求,只代理后端 nginx运行在80端口,接收外部请求,同时代

python学习笔记第13章:web开发之sanic框架

sanic官方中文教程https://sanicframework.org/zh/guide/ 教程不涉及模板等内容,所以用前后端分离架构,后端只返回数据,不渲染模板 架构如下 使用两个服务器软件,sanic自带的软件和nginx sanic服务器软件,运行在5000端口,只接收本机请求,只代理后端 nginx运行在80端口,接收外部请求,同时代

Sanic八:Sanic操作cookie

  一、响应cookie 响应cookie也可以直接设置为字典,以下是可用key expires (日期时间):客户端浏览器上的cookie过期时间。path (字符串):应用此cookie的URL的子集。默认值为comment (字符串):注释(元数据)。domain (字符串):指定cookie有效的域。显式指定的域必须始终以点开头。max-age (number

Sanic三:Sanic.route支持的参数和Sanic声明接口的方式

  Sanic声明接口有三种形式   一:用Sanic.route()方法来声明接口信息,如下为源码中route的参数 uri: str 接口地址,若不是以"/"开头,代码中会自动加"/" methods: list或元组,内部为字符串的请求方法,由代码中可见,代码会自动统一转大写,当此字段没有指定时,默认用GET host: strstrict_

Sanic四:Sanic.run支持的参数

  在运行服务器的时候,用的是Sanic.run()方法,那么run方法,支持指定哪些参数呢 host: str 主机地址,默认为127.0.0.1port: int 运行的端口,默认为8000   debug: bool 是否启用启用调试模式,调试模式将减慢服务器速度,默认False auto_reload: bool 每当源代码更改时重新加载应用程序,默

Sanic五:Sanic加载自定义配置

  支持的配置项   Sanic支持 Python文件、字典、其他类型的自定义对象 三种方式加载配置   一、Python文件:Sanic.update_config()   二、字典:Sanic.update_config()   三、其他类型的自定义对象   注:此时更新的config,其实就是实例化Sanic的时候指定的config  

Sanic六:Sanic请求对象

  在Sanic中,要想获取请求对象,需要在定义函数时声明一个参数来接收,一般取名为request request支持的属性   1、路径参数 在路由定义中使用 <参数名> 来定义,然后在函数中接收此参数即可   2、查询字符串参数   3、json   4、form    5、files   6、headers、c

西北乱跑娃 --- Sanic框架jinja2模板配置及运行

一、web框架介绍 目前比较流行的python web框架:django、bottle、Flask、Tornado、Snaic、FastAPI、Quart、aiohttp、pyramid等等。 个人常用框架主要有:bottle、Flask、Snaic、FastAPI、django。主要原因是抛开异步非阻塞的原因,bottle的性能还是非常可观的,非常适合接口开发,后

sanic 类视图

from sanic import Sanic from sanic.response import json from sanic.websocket import WebSocketProtocol # app = Sanic("websocket_example") from sanic import Sanic from sanic.views import HTTPMethodView from sanic.response import text app = Sanic(

sanic 路由

from sanic import Sanic from sanic.response import json,file app=Sanic("app") # @app.route('/',methods=['POST']) async def test(request): name=request.form.get("name") return json({'name':name})

Sanic官翻-流媒体

流媒体 请求流 Sanic允许您按流获取请求数据,如下所示。请求结束时,await request.stream.read()返回None。只有post,put和patch装饰器具有stream参数。 from sanic import Sanic from sanic.views import CompositionView from sanic.views import HTTPMethodView from sanic.views

Sanic官翻-Cookies

Cookies Cookie是保存在用户浏览器中的数据。Sanic可以读取和写入cookie,它们都存储为键值对。 警告 客户可以自由更改Cookies。因此,您不能仅将登录信息之类的数据原样存储在cookie中,因为它们可以由客户端自由更改。为确保客户端不会伪造或篡改您存储在Cookie中的数据,请使用类似 i

python︱微服务Sanic制作一个简易本地restful API 方案一

文章目录 一、Snaic基本功能1.Routing路由1.1 传入参数且参数格式规定1.2 路由的第二种写法2.Request 请求3.Response3.1 文本格式3.2 HTML3.3 JSON3.4 File案例一:回传图片案例二、Snaic其他信息1.app.run参数after_start与before_stop命令行格式运行2.报错信息的返回3.蓝本 Blu

一文教你Python Web异步框架

时间过得真快,转眼之间已经是2019年了。好几年前,做web开发时,我们选择了Python的tornado框架,看重的是它的轻量级(简洁)和异步(说实话,没怎么用异步)。 后来,开始用Python 3,同时也接触了asyncio,对异步IO有了跟深入的理解和掌握。asyncio模块提供了在单线程上通过协程实现并发的基础

【Sanic】Hello world �

原文: http://blog.gqylpy.com/gqy/397        Sanic is based on the asynchronous function async def func() after python3.6, a lot of online introduction, here is not detailed. One thing to note is that Sanic USES