随笔分类 - 测试开发
摘要:在之前的分享中,FastAPI入门教程(持续更新中)的文章分享了Fastapi框架的入门和项目的实战,分享后,没有进行过部署,那么如何部署呢,今天带领大家去看下。 部署选择了通用的nginx 和gunicorn来进行部署。如何部署呢,本篇带着大家去看一看。 一、 环境安装 安装nginx brew
阅读全文
摘要:在之前,我分享过unittest系列,后来有很多人问我,能不能出pytest的教程,正好最近在整理pytest相关的资料,那么,就趁着这个机会,去和大家分享一下pytest系列。 pytest是一个非常成熟的全功能的Python测试框架。那么他有什么优点呢。 pytest优点 入门简单,文档丰富 支
阅读全文
摘要:完整的接口已经开发完成了,那么我们需要对接口进行但愿测试,如何做呢,本文就带着大家去实现下 我们可以先来看下,我们注册的接口的相关的文章,回忆下注册接口的代码。 FastAPI(六十六)实战开发《在线课程学习系统》接口开发--用户注册接口开发。 我们来分析下接口: 在借口的文档上面我们已经对接口做了
阅读全文
摘要:<p> </p> <p>在之前的文章中:https://www.cnblogs.com/leiziv5/p/7411091.html,分享了基于python去递归查找文件中的文件。在后续的接触中,可以基于深度遍历和广度遍历来实现 </p><p>1.深度遍历实现对应实现思路: 1.创建栈2.
阅读全文
摘要:我们需要安装对应的连接的依赖 pip install pymysql 然后在配置testDatabase.py from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base f
阅读全文
摘要:我们要搭建日志系统,我们使用loguru,挺不错的一个开源的日志系统。可以使用 pip install loguru 我们在common创建log.py使用方式也很简单 import os import time from loguru import logger #日志的路径 log_path =
阅读全文
摘要:这之前的接口,我们返回的格式都是每个接口异常返回的数据格式都会不一样,我们处理起来没有那么方便,我们可以封装一个统一的json处理。 那么我们看下如何来实现呢 from fastapi import status from fastapi.responses import JSONResponse,
阅读全文
摘要:我们之前登录认证的一些内容都直接写入到代码中,我们现在统一的给放到config文件中。 SECRET_KEY = "09d25e094faa6ca2556c818166b7a9563b93f7099f6f0f4caa6cf63b88e8d3e7" ALGORITHM = "HS256" ACCESS
阅读全文
摘要:在之前的分享的中,产生了token,用于做登录的认证,那么产生了token后,登陆携带了token,我们如何校验呢? 我们先来梳理下逻辑。 1.调用登录接口,产生token 2.调用依赖登录的接口,在请求头中携带token 3.依赖登录的接口,接受到请求,判断是否在headers中携带token 4
阅读全文
摘要:在之前的文章中,FastAPI 学习之路(二十九)使用(哈希)密码和 JWT Bearer 令牌的 OAuth2,FastAPI 学习之路(二十八)使用密码和 Bearer 的简单 OAuth2,FastAPI 学习之路(三十四)数据库多表操作,我们分享了基于jwt认证token和基于数据库创建用户
阅读全文
摘要:我们在实际的开发中呢,总会遇到这样的场景,我们想在启动或者终止的时候,做一些事情,那么应该如何实现呢,其实也是很简单。fastapi提供了这样的操作。 那么我们看下具体是怎么实现的呢 app = FastAPI() @app.on_event("startup") def startup_event
阅读全文
摘要:之前我们分享了操作关系型数据库,具体文章, FastAPI 学习之路(三十二)创建数据库 FastAPI 学习之路(三十三)操作数据库 FastAPI 学习之路(三十四)数据库多表操作 这次我们分享的是非关系型数据库--Redis。 首先,我们安装对应的依赖 pip intsall aioredis
阅读全文
摘要:在实际的开发过程中,我们数据库,可以根据连接的环境不一样,我们会拆分成不一样的数据库,根据我们所要用的环境来选择对应的数据库即可,那么我们应该如何去实现根据选择去选择不一样的数据库呢。 首先,我们找一个配置的文件,我们这里演示 我们使用config.py去配置环境。配置如下 EVENT="test"
阅读全文
摘要:相对于之前的text的消息来说,我们之前发送的消息都是text的居多,那么对于text格式的消息来说,我们处理起来,尤其是后端要麻烦的多,那么我们可不可以传递json格式的,对于前后端来说都好处理的一种格式的消息,那么答案来说是可以的。我们需要做下处理。 我们在之前的websockets管理中的的消
阅读全文
摘要:有了上一遍的基础,其实这个一对一很简单,我们在之前的websockets管理中已经实现了一对一发消息的内容,这次呢,我们只需要实现一对一如何处理消息即可。 @app.websocket("/ws/{user}/") async def websocket_many_point( websocket:
阅读全文
摘要:其实代码没有问题,但是我们忽略了一点,就是我们在正常的开发中,肯定是遇到这样的情况,我们频繁的有客户端链接,断开链接,我们需要统一的管理起来,那么我们应该如何去管理呢,其实这个时候,我们要去声明一个类去管理我们的这些链接。我们应该如何优化呢。 定义一个链接管理类,处理我们所有的链接。 class C
阅读全文
摘要:本次是WebSockets的第六次分享了,我们这次只是对于之前的功能做下优化,顺便利用下之前的操作数据的接口,使用下数据库的练习。 我们都知道,在聊天室里面会有一个上线的概念。上线了要通知大家。然后下线了要告诉大家谁离开了。发小小大家要都能可以收到。那么我们基于这个去完善下我们的功能。 首先,我们的
阅读全文
摘要:在我们测试中,肯定会对接口进行测试。之前也分享过FastAPI 学习之路(三十八)对开发接口进行测试,那么我们针对WebSockets接口怎么测试呢。 其实很简单。 from fastapi.testclient import TestClient def test_websocket(): cli
阅读全文
摘要:之前我们是通过前端自动生成的,这次我们通过注册登录,保存到本地去实现。我们可以应该如何实现呢,首先我们实现一个登录界面。放在templates文件下。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Titl
阅读全文
摘要:上一篇文章,我们分享了WebSockets一些入门的,我们这节课,在原来的基础上,对于讲解的进行一个演示。我们最后分享了依赖token等。首先我们对上次的代码进行调整。 我们之前分享FastAPI 学习之路(三十八)Static Files,我们分享了动态文件的使用,我们按照之前分享的。将之前代码的
阅读全文