学习FASTAPI】的更多相关文章

请求流程如图 本次学到的新东西: functools.partial 可以代码重用 用于在哪些通用的方法上加上更多的参数 try: finally可以当go的defer用 即使return后 finally也是会执行的 raise exc from None 这样可以保持原来报错的上下文 asyncio.Queue 可以用来传输消息 类似于go的channel nonlocal 关键字是闭包函数用来修改外层函数变量的 __call__ 方法是当把类对象加()执行的时候调用的…
前言 学习FastAPI中把官方文档过了一遍,看了些大佬的文章,也借鉴(抄袭)了部分代码,写了一套个人博客的API,目前还比较简陋,统计的API基本没有,而且目前基本都停留在单表查询,所以含量不高,接着往下看吧 简介 使用FastAPI来主体实现API的开发,SqlAlchemy 来操作数据库,sqlite数据库来存储数据,jwt来登录后台,新增/修改操作需要登录才能用哈,loguru记录日志,alembic来将模型在数据库中生成表,测试代码目前没写 目前大致API功能 用户登录/注册(个人博客…
官方文档主要侧重点是循序渐进地学习FastAPI, 不利于有其他框架使用经验的人快速查阅 故本文与官方文档不一样, 并补充了一些官方文档没有的内容 安装 包括安装uvicorn $pip install fastapi[all] 分开安装 $pip install fastapi $pip install uvicorn[standard] uvicorn使用 uvicorn是一个非常快速的 ASGI 服务器. 官方文档在这里: uvicorn 命令行启动 # mian.py from fast…
目前正在学习FastAPI, 目前是学习到了引入静态文件.这是我引入的本地文件的方式 url_for('/static', path='/imgs/favicon.ico') 只要启动服务,就会报错500,根据学习文档发现只要引用静态文件有一点点错就GG 应该是这个引入   url_for('static', path='/imgs/favicon.ico') 我的项目目录 -static -template main.py 解决思路: 之前也报错模板找不到     我就自定义了一个HTML …
前言 继续学习 此为第二篇, 还差些知识点就可以结束, 更多的比如用户的身份校验/ swagger 文档修改等以后会单独写 正文 使用枚举来限定参数 可以使用枚举的方式来限定参数为某几个值之内才通过 from fastapi import FastAPI from enum import Enum class ModelName(str, Enum): alexnet = "alexnet" resnet = "resnet" lenet = "lenet…
前言 学习不止 正文 介绍 FastApi是PythonWeb框架的'新晋干员',虽然年轻但是很能打 目前已有 12k start GitHub 官网 为什么说他能打呢?它内部使用了 Python 的 Async 异步,因此速度很快, 也要求必须是 Py3.6+ Async 不同于之前自己实现的 gevent ,Async是官方写的, 听说Py4将会大量使用来提高效率 FastApi官网展示了FastApi的特点 快速:非常高的性能,看齐的NodeJS和Go(感谢Starlette和Pydant…
fastapi是高性能的web框架.他的主要特点是:- 快速编码- 减少人为bug- 直观- 简易- 具有交互式文档 - 高性能 - 基于API的开放标准 支持python 3.6版本. 安装 pip install fastapi 安装部署包 pip install uvicorn 开始开发. from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello&q…
系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之路(五) 本次分享的是分享的是查询参数,字符串的校验. 我们看一个demo. from typing import Optional from fastapi import FastAPI app = FastAPI() @app.get("/items/") def update_ite…
系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) 之前的文章分享了如何去创建一个简单的路径的请求.那么我们这次分享的如何在请求路径中,增加参数. 我们还是在之前的请求中改造 @app.get("/") def root(): return {"message": "Hello World"} 那么如何让它带参数呢,其实很简单 @app.get("/{name}")…
系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) 之前的文章分享了如何去在请求中增加参数,本文我们将分享如何增加查询参数. 有这样的一个需求,我们需要请求参数中增加参数,返回对应参数的值,我们不能在请求路径中增加. 我们看下在代码中如何实现? from fastapi import FastAPI app = FastAPI() data=['北京','上海','深圳'] @app.get("/ite…