在之前的分享中,FastAPI入门教程(持续更新中)的文章分享了Fastapi框架的入门和项目的实战,分享后,没有进行过部署,那么如何部署呢,今天带领大家去看下。 部署选择了通用的nginx 和gunicorn来进行部署。如何部署呢,本篇带着大家去看一看。 一、 环境安装 安装nginx brew
在之前,我分享过unittest系列,后来有很多人问我,能不能出pytest的教程,正好最近在
完整的接口已经开发完成了,那么我们需要对接口进行但愿测试,如何做
首先来看下课程编辑: 那么我们编辑就变的简单了。逻辑如下。 1.判断是否登录2.判断课程是否存在3.课程名称是否重复 在基础的pydantic的Courses类,增加一个id class CoursesEdit(Courses): id:int 具体最后的代码 @courseRouter.put(p
这个接口用户可以不用登录,因为我们的课程可以随便的人都可以预览。 那么我们梳理下这里面的逻辑 1.根据id判断课程是否存在2.课程需要返回课程的详情3.返回课程的评论我们去设计对应的课程详情的pydantic 类。 class CoursesCommentBase(BaseModel): users
上次我们分享了,FastAPI(七十四)实战开发《在线课程学习系统》接口开发-- 删除留言 还是按照惯例,我们去梳理下对应的逻辑 1.判断用户是否登陆 2.校验是否有权限 3.校验参数是否完整 4.查询课程是否存在 5.创建课程 课程我们需要单独创建一个新的路由来管理 我们在routers去创建co
一、查询所有课程列表 逻辑就是返回所有课程 那么对应的crud def getallcourse(db:Session): return db.query(Course).filter(Course.status == True).all() 接口的实现代码 @courseRouter.get("/
我们先看下加入课程 梳理下对应的逻辑 1.判断是否登录2.判断课程是否存在3.判断是否已经在列表4.成功添加 进入正式的开发,我们首先看下curd def get_student(db: Session, couese: int,user:int): return db.query(Studentc
梳理下思路: 1.判断是否登录 2.判断课程是否存在 3.如果回复查看回复的是否存在 4.校验是否有权限 5.评论成功 对应的pydantic类如下 class Coursecomment(BaseModel): id: int comments: str pid: Optional[int] 对应
一、课程上架 我们梳理看下上架的逻辑 1.判断是否登录 2.判断角色权限 3.判断课程是否存在 4.判断课程是否上架 5.判断是否是自己的课程 那么我们看下如何实现? @courseRouter.get(path="/onshelf/{id}") async def offshelf(id:int,
我们在之前讲了单元测试,这次我们分享下一部分接口的接口测试。 那么我们看来看下对应的接口怎么测试。 那么我们去设计对应的登陆用例,由于接口我们之前开发过,我们参照之前的接口开发的代码进行用例设计。 1.登陆用户不存在。 输入参数: self.parame = { "username": "liwan
之前文章FastAPI(七十三)实战开发《在线课程学习系统》接口
一、推荐课程列表 这里的初步逻辑很简单, 点赞数
在之前的文章:FastAPI(六十七)实战开发《在线课程学习系统》接口开发--用户登陆接口开发,今天实战:用户 个人信息接口开发。 在开发个人信息接口的时候,我们要注意了,因为我们不一样的用户个人信息不一样,而且需要依赖登录,那么我们需要根据用户是否登录来返回用户信息,根据用户的角色来返回对应的信息,def get_role_name(db:Session,id:id): retu
<p> </p>分享了基于python去递归查找文件中的文件。在后续的接触中,可以基于深度遍历和广度遍历来实现 </p><p>1.深度遍历实现对应实现思路:1.创建栈2.增加路径3.当栈不为空,处理栈的一个路径4.遍历路径下面的每一项5.遇到文件夹加入到栈中6.知道栈中元素为空,退出import ospath = '.'def G
之前我们分享了FastAPI(六十八)实战开发《在线课程学习系统》接口开发--用户 个人信息接口开发。这次我们去分享实战开发《在线课程学习系统》接口开发--修改密码 我们梳理一下这里的逻辑1.需要校验登录用户,根据登录用户,我们去校验密码2.校验成功,我们判断新密码是否符合要求3.存储新的密码4.删除对应的用户的token以及错误密码存储的数据
之前我们分享了FastAPI(七十一)实战开发《在线课程学习系统》接口开发-- 查看留言,这次我们分享留言列表开发。 列表获取,也需要登录,根据登录用户来获取对应的留言。逻辑梳理如下。1.判断用户是否登录2.根据登录用户查询留言列表3.留言列表中要根据是留言回复,进行列表重组我们根据逻辑去梳理下对应的cruddef get_message_list(db: Session, userid
在之前的文章:FastAPI(六十九)实战开发《在线课程学习系统》接口开发--修改密码,这次分享留言功能开发我们能梳理下对应的逻辑1.校验用户是否登录2.校验留言的用户是否存在3.校验用户是否和留言的用户一致4.校验留言长度是否符合要求5.增加留言那么看下对应的需要新增的pydantic。class MessageConent(BaseModel): id:int connect:st
之前FastAPI(七十)实战开发《在线课程学习系统》接口开发--留言功能开发分享了留言开发,这次我们分享查看留言梳理这里的逻辑,这个接口要依赖登录。1.判断用户是否登录2.判断对应id是否存在,不存在返回对应的错误3.判断是否是当前用户的留言,或者接受的方是自己4.返回内容后,同时变成已读。5.如果读了且回复了,要带回复的内容梳理后发现,之前在接口设计的时候,有些欠缺,查看留言,是查看单个的留言
之前文章分享FastAPI(七十二)实战开发《在线课程学习系统》接口开发-- 留言列表开发,这次我们分享如何回复留言按照惯例,我们还是去分析这里面的逻辑。1.判断用户是否登录2.用户登录判断回复的是否存在3.存在回复 我们对应的pydantic对象class RebackMessConnet(MessageConent): rebackid: int  
在之前三篇,我们分享的就是需求的分析,基本接口的整理,数据库链接的配置。这次我们分享项目的基本框架,目录结构如下: common目录 通用的目录,一些通用的处理放在这里 models目录 数据库相关的放在这里 routers目录 所有的接口存放的地方 test 测试用例存放的地方 config.py
我们首先需要安装对应的连接的依赖 pip install pymysql 然后在配置testDatabase.py from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base
在之前的文章中,FastAPI 学习之路(二十九)使用(哈希)密码和 JWT Bearer 令牌的 OAuth2,FastAPI 学习之路(二十八)使用密码和 Bearer 的简单 OAuth2,FastAPI 学习之路(三十四)数据库多表操作,我们分享了基于jwt认证token和基于数据库创建用户
这之前的接口,我们返回的格式都是每个接口异常返回的数据格式都会不一样,我们处理起来没有那么方便,我们可以封装一个统一的json处理。 那么我们看下如何来实现呢 from fastapi import status from fastapi.responses import JSONResponse,
我们要搭建日志系统,我们使用loguru,挺不错的一个开源的日志系统。可以使用 pip install loguru 我们在common创建log.py使用方式也很简单 import os import time from loguru import logger #日志的路径 log_path =
在实际的开发过程中,我们数据库,可以根据连接的环境不一样,我们会拆分成不一样的数据库,根据我们所要用的环境来选择对应的数据库即可,那么我们应该如何去实现根据选择去选择不一样的数据库呢。 首先,我们找一个配置的文件,我们这里演示 我们使用config.py去配置环境。配置如下 EVENT="test"
我们在实际的开发中呢,总会遇到这样的场景,我们想在启动或者终止的时候,做一些事情,那么应该如何实现呢,其实也是很简单。fastapi提供了这样的操作。 那么我们看下具体是怎么实现的呢 app = FastAPI() @app.on_event("startup") def startup_event
之前我们分享了操作关系型数据库,具体文章, FastAPI 学习之路(三十二)创建数据库 FastAPI 学习之路(三十三)操作数据库 FastAPI 学习之路(三十四)数据库多表操作 这次我们分享的是非关系型数据库--Redis。 首先,我们安装对应的依赖 pip intsall aioredis
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号