1.1 fastapi介绍
简介:
-
FastAPI 是一个高性能,易于学习,高效编码,生产可用的Python Web异步框架
-
FastAPI 适合来写API,使用 Python 3.6+ 并基于标准的 Python 类型提示
核心特性:
- 速度快:可与 NodeJS 和 Go 比肩的极高性能(归功于 Starlette 和 Pydantic),asyncio
- 简单:易于学习,编码简单,文档学习简单,类型提示
- 生产可用:生产可用级别的代码。还有自动生成的交互式文档。
- OpenAPI文档:自带api文档,便于前后端对接(swagger和redoc)
- FastAPI适合前后端分离项目,轻量级项目
- 目前生态还在不断完善中
文档:
- 官方文档: https://fastapi.tiangolo.com
- 源码: https://github.com/tiangolo/fastapi
课程内容:
- 学习Web开发的原理和方式
- 学习FastAPI 框架特性,相对同步框架(如Django/Flask) 的优势
- 学习各种请求参数和验证,如:路径参数、查询参数、请求体、cookie、header
- 学习FastAPI 的表单数据处理、响应模型、文件处理、路径操作配置等
- 学习 FastAPI 的依赖注入系统
- 学习FastAPI 集成数据库,ORM的使用
- 学习登录认证相关的基本原理和实现
- 学习FastAPI 异步框架的使用方式
- 学习FastAPI工程化应用,如何拆分文件
- 学习如何部署FastAPI开发的web项目
- 学习FastAPI的高级特性:中间件、后台任务、WewSocket、时间钩子等等
课程前置基础:
-
python基础
-
python进阶
-
python异步编程
-
web基础:网络协议/HTTP协议/前端基础等等(本课程中会补充相关基础知识点)
1.2 准备环境
系统环境
- Win10系统 + Python3.10
- 使用pycharm社区版做编辑器
准备环境
- 安装python3.10(https://www.python.org/downloads/windows/)
- 安装pycharm社区版编辑器(https://www.jetbrains.com/pycharm/download/#section=windows)
下载第三方包
- pip换源:
清华:https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 :https://pypi.mirrors.ustc.edu.cn/simple/
华中科技大学:http://pypi.hustunique.com/
豆瓣:http://pypi.douban.com/simple/
# 方式1:临时使用
pip3 install fastapi -i https://pypi.tuna.tsinghua.edu.cn/simple/
# 方式2:全局配置一次
pip3 config global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
- 下载FastAPI
pip3 install fastapi
- 下载uvicorn,用来启动fastapi项目。官网:https://www.uvicorn.org/
pip3 install uvicorn
1-3 Windows上使用虚拟环境
- 创建虚拟环境
#方式1: 直接使用pycharm中提供的虚拟环境工具
#方式2: cmd窗口手动新建
python3 -m venv venv_name # 创建虚拟环境venv_name
cd venv_name/Scripts # 进入文件夹
activate # 激活虚拟环境
deactivate # 退出虚拟环境
# 初学者不推荐在powershell中操作
结论:
- 学习阶段,我们就直接使用全局的python解释器(虚拟环境)
- 如果你电脑上安装过其他版本的python,比如,python3.7等等。你再安装一个python3.10(多版本共存,设置好环境变量即可变方便使用),多版本共存设置参考视频:https://www.51zxw.net/Show.aspx?cid=1072&id=123521
1-4 pycharm环境使用问题
占位
1-5 第一个fastapi
编写第一个fastapi
# main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def root():
return {
"message": "Hello World"}
使用uvicorn启动项目
- 方式1:在cmd窗口中输入指令,启动fastapi项目(推荐)
uvicorn main:app --reload --host 127.0.0.1 --port 8080
main:app:启动main这个模块下的app这个可执行对象
–reload:表示代码修改会自动加载重启服务
–host:表示绑定的ip地址
–port:表示监听的端口号
- 方式2:执行python脚本文件也是可以启动fastapi项目(不推荐)
# main.py
from fastapi import FastAPI
import uvicorn
app = FastAPI()
@app.get("/")
def root():
return {
"messag