随笔分类 - fastapi
摘要:在之前的分享中,FastAPI入门教程(持续更新中)的文章分享了Fastapi框架的入门和项目的实战,分享后,没有进行过部署,那么如何部署呢,今天带领大家去看下。 部署选择了通用的nginx 和gunicorn来进行部署。如何部署呢,本篇带着大家去看一看。 一、 环境安装 安装nginx brew
阅读全文
摘要:我们在之前讲了单元测试,这次我们分享下一部分接口的接口测试。 那么我们看来看下对应的接口怎么测试。 那么我们去设计对应的登陆用例,由于接口我们之前开发过,我们参照之前的接口开发的代码进行用例设计。 1.登陆用户不存在。 输入参数: self.parame = { "username": "liwan
阅读全文
摘要:完整的接口已经开发完成了,那么我们需要对接口进行但愿测试,如何做呢,本文就带着大家去实现下 我们可以先来看下,我们注册的接口的相关的文章,回忆下注册接口的代码。 FastAPI(六十六)实战开发《在线课程学习系统》接口开发--用户注册接口开发。 我们来分析下接口: 在借口的文档上面我们已经对接口做了
阅读全文
摘要:一、课程上架 我们梳理看下上架的逻辑 1.判断是否登录 2.判断角色权限 3.判断课程是否存在 4.判断课程是否上架 5.判断是否是自己的课程 那么我们看下如何实现? @courseRouter.get(path="/onshelf/{id}") async def offshelf(id:int,
阅读全文
摘要:一、推荐课程列表 这里的初步逻辑很简单, 点赞数大于>500 那么我们看下crud def getlikeCourse(db:Session): return db.query(Course).filter(Course.likenum>500, Course.onsale==True).all()
阅读全文
摘要:一、查询所有课程列表 逻辑就是返回所有课程 那么对应的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.课程名称是否重复 在基础的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
阅读全文
摘要:之前文章FastAPI(七十三)实战开发《在线课程学习系统》接口开发-- 回复留言,那么我们这次分享删除留言接口的开发 可以对留言进行删除,这里的删除,我们使用的是逻辑的删除,不是物理删除 我们来梳理下这里的逻辑 1.用户需要登录 2.请求携带留言的id 3.判断删除留言是否存在 4.存在则删除 那
阅读全文
摘要:之前文章分享FastAPI(七十二)实战开发《在线课程学习系统》接口开发-- 留言列表开发,这次我们分享如何回复留言 按照惯例,我们还是去分析这里面的逻辑。 1.判断用户是否登录 2.用户登录判断回复的是否存在 3.存在回复 我们对应的pydantic对象 class RebackMessConne
阅读全文
摘要:之前我们分享了FastAPI(七十一)实战开发《在线课程学习系统》接口开发-- 查看留言,这次我们分享留言列表开发。 列表获取,也需要登录,根据登录用户来获取对应的留言。逻辑梳理如下。 1.判断用户是否登录 2.根据登录用户查询留言列表 3.留言列表中要根据是留言回复,进行列表重组 我们根据逻辑去梳
阅读全文
摘要:之前FastAPI(七十)实战开发《在线课程学习系统》接口开发--留言功能开发分享了留言开发,这次我们分享查看留言 梳理这里的逻辑,这个接口要依赖登录。 1.判断用户是否登录 2.判断对应id是否存在,不存在返回对应的错误 3.判断是否是当前用户的留言,或者接受的方是自己 4.返回内容后,同时变成已
阅读全文
摘要:在之前的文章:FastAPI(六十九)实战开发《在线课程学习系统》接口开发--修改密码,这次分享留言功能开发 我们能梳理下对应的逻辑 1.校验用户是否登录 2.校验留言的用户是否存在 3.校验用户是否和留言的用户一致 4.校验留言长度是否符合要求 5.增加留言 那么看下对应的需要新增的pydanti
阅读全文
摘要:之前我们分享了FastAPI(六十八)实战开发《在线课程学习系统》接口开发--用户 个人信息接口开发。这次我们去分享实战开发《在线课程学习系统》接口开发--修改密码 我们梳理一下这里的逻辑 1.需要校验登录用户,根据登录用户,我们去校验密码 2.校验成功,我们判断新密码是否符合要求 3.存储新的密码
阅读全文
摘要:在之前的文章:FastAPI(六十七)实战开发《在线课程学习系统》接口开发--用户登陆接口开发,今天实战:用户 个人信息接口开发。 在开发个人信息接口的时候,我们要注意了,因为我们不一样的用户个人信息不一样,而且需要依赖登录,那么我们需要根据用户是否登录来返回用户信息,根据用户的角色来返回对应的信息
阅读全文
摘要:接上一篇文章FastAPI(六十六)实战开发《在线课程学习系统》接口开发--用户注册接口开发。这次我们分享实际开发--用户登陆接口开发。 我们先来梳理下逻辑 1.查询用户是否存在2.校验密码是否正确3.密码校验失败记录失败次数4.失败次数大于10次,当天不能登陆5.密码校验通过产生对应的token返
阅读全文
摘要:在前面我们分析了接口的设计,那么我们现在做接口的开发。 我们先去设计下pydantic用户参数的校验 from pydantic import BaseModel from typing import Optional class UserBase(BaseModel): username: str
阅读全文