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+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

Python实现快速扫描目标主机的开放端口和服务

《Python实现快速扫描目标主机的开放端口和服务》这篇文章主要为大家详细介绍了如何使用Python编写一个功能强大的端口扫描器脚本,实现快速扫描目标主机的开放端口和服务,感兴趣的小伙伴可以了解下... 目录功能介绍场景应用1. 网络安全审计2. 系统管理维护3. 网络故障排查4. 合规性检查报错处理1.

Python轻松实现Word到Markdown的转换

《Python轻松实现Word到Markdown的转换》在文档管理、内容发布等场景中,将Word转换为Markdown格式是常见需求,本文将介绍如何使用FreeSpire.DocforPython实现... 目录一、工具简介二、核心转换实现1. 基础单文件转换2. 批量转换Word文件三、工具特性分析优点局

Python中4大日志记录库比较的终极PK

《Python中4大日志记录库比较的终极PK》日志记录框架是一种工具,可帮助您标准化应用程序中的日志记录过程,:本文主要介绍Python中4大日志记录库比较的相关资料,文中通过代码介绍的非常详细,... 目录一、logging库1、优点2、缺点二、LogAid库三、Loguru库四、Structlogphp

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

解决idea启动项目报错java: OutOfMemoryError: insufficient memory

《解决idea启动项目报错java:OutOfMemoryError:insufficientmemory》:本文主要介绍解决idea启动项目报错java:OutOfMemoryError... 目录原因:解决:总结 原因:在Java中遇到OutOfMemoryError: insufficient me

Java利用Spire.Doc for Java实现在模板的基础上创建Word文档

《Java利用Spire.DocforJava实现在模板的基础上创建Word文档》在日常开发中,我们经常需要根据特定数据动态生成Word文档,本文将深入探讨如何利用强大的Java库Spire.Do... 目录1. Spire.Doc for Java 库介绍与安装特点与优势Maven 依赖配置2. 通过替换

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav