013、Python+fastapi,第一个后台管理项目走向第13步:建立python+fastapi项目,创建cache模块

本文主要是介绍013、Python+fastapi,第一个后台管理项目走向第13步:建立python+fastapi项目,创建cache模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、说明

在今天学习RuoYi-Vue3-FastAPI的代码过程中,我遇到了几个问题,下面说说自己的感想

二、自定义的log装饰器

源码中是log_annotation.py,代码也没什么好说的,这个知识点到处都是文章,可以在csdn上搜索学习,python中wraps函数用法详情_python @wraps函数-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_44799217/article/details/126170313?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171314428516800213066157%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171314428516800213066157&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-126170313-null-null.142%5Ev100%5Econtrol&utm_term=%40wraps%28func%29&spm=1018.2226.3001.4187

主要就是wraps的用法,大家看看就ok了

三、自定义的pydantic装饰器as_query as_form

FastAPI从入门到实战(2)——Pydantic模型_fastapi pydantic-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_45730223/article/details/128069420?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171314582816800213094097%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=171314582816800213094097&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-2-128069420-null-null.142%5Ev100%5Econtrol&utm_term=pydantic%E6%A8%A1%E5%9E%8B%2Bfastapi&spm=1018.2226.3001.4187

主要 学习inspect模块

函数参数检测-inspect模块_函数测参数-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/tlammon/article/details/105462433?ops_request_misc=&request_id=&biz_id=102&utm_term=inspect%E6%A8%A1%E5%9D%97%E7%9A%84%E6%96%87%E6%A1%A3&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-105462433.142%5Ev100%5Econtrol&spm=1018.2226.3001.4187那我们就把annotation目录全加进去吧

四、添加一个cache模块

1、添加一个模块过程

  • 我们假设数据库已经设计好了
  • 数据库好了,那么oo就好了
  • 后面还有controller层、server层、dao层、vo entity(根据业务或view来定,起始简单点说就是返回给前端的数据)、各层的关系网上有很多,简单点就是controller层就是前端与后端数据传输层,就像餐厅服务员一样,端来端去的,还会给server层交互;server层是业务处理的,做菜的,数据计算可以放在这里,dao层也叫持久层,和数据库交互的,洗菜的算这里吗?准备食材给做菜的啊?vo entity可以理解为食材都有,但是不在一起,做菜的不好拿,我们把需要的食材放在一起。
  • 这几层只要接口文档设计好了,就都很明显的出来了,不就是前端要什么数据我们就给什么吗?前端要什么数据不就是原型设计有吗?

2、创建缓存监控模块对应pydantic模型

 mucauna-fastapi/admin/entity/vo/cache_vo.py

3、创建缓存监控模块控制层

mucauna-fastapi/admin/controller/ cache_controller.py

首先我们要学习一下,Depends

参考

FastAPI基础:Depends怎么用?_fastapi depends-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/NeverLate_gogogo/article/details/112472480?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171316310316800222871946%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171316310316800222871946&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-112472480-null-null.142%5Ev100%5Econtrol&utm_term=Depends&spm=1018.2226.3001.4187

完成以上接口,代码不难,自己看看就行了。

3、创建缓存监控模块服务层

边做controller层,边写server曾

mucauna-fastapi/admin/controller/ cache_server.py

4、cache取自于redis 没有数据库表,没有vo,没有dao层

5、接口调试

这篇关于013、Python+fastapi,第一个后台管理项目走向第13步:建立python+fastapi项目,创建cache模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/937863

相关文章

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

如何将Python彻底卸载的三种方法

《如何将Python彻底卸载的三种方法》通常我们在一些软件的使用上有碰壁,第一反应就是卸载重装,所以有小伙伴就问我Python怎么卸载才能彻底卸载干净,今天这篇文章,小编就来教大家如何彻底卸载Pyth... 目录软件卸载①方法:②方法:③方法:清理相关文件夹软件卸载①方法:首先,在安装python时,下

python uv包管理小结

《pythonuv包管理小结》uv是一个高性能的Python包管理工具,它不仅能够高效地处理包管理和依赖解析,还提供了对Python版本管理的支持,本文主要介绍了pythonuv包管理小结,具有一... 目录安装 uv使用 uv 管理 python 版本安装指定版本的 Python查看已安装的 Python

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Python中局部变量和全局变量举例详解

《Python中局部变量和全局变量举例详解》:本文主要介绍如何通过一个简单的Python代码示例来解释命名空间和作用域的概念,它详细说明了内置名称、全局名称、局部名称以及它们之间的查找顺序,文中通... 目录引入例子拆解源码运行结果如下图代码解析 python3命名空间和作用域命名空间命名空间查找顺序命名空

Python如何将大TXT文件分割成4KB小文件

《Python如何将大TXT文件分割成4KB小文件》处理大文本文件是程序员经常遇到的挑战,特别是当我们需要把一个几百MB甚至几个GB的TXT文件分割成小块时,下面我们来聊聊如何用Python自动完成这... 目录为什么需要分割TXT文件基础版:按行分割进阶版:精确控制文件大小完美解决方案:支持UTF-8编码

基于Python打造一个全能文本处理工具

《基于Python打造一个全能文本处理工具》:本文主要介绍一个基于Python+Tkinter开发的全功能本地化文本处理工具,它不仅具备基础的格式转换功能,更集成了中文特色处理等实用功能,有需要的... 目录1. 概述:当文本处理遇上python图形界面2. 功能全景图:六大核心模块解析3.运行效果4. 相

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll