首页 > 其他分享 >使用 Pyqt5 GUI 页面请求 FastAPI 后端 API,实现逻辑功能

使用 Pyqt5 GUI 页面请求 FastAPI 后端 API,实现逻辑功能

时间:2024-03-22 17:36:56浏览次数:34  
标签:文件 登录 FastAPI GUI py PyQt5 --- Pyqt5

使用PyQt5+FastAPI+SQLAlchemy+Redis+Celery做一个登录注册页(四)

本文将介绍用 PyQt5+FastAPI+SQLAlchemy+Redis+Celery 做的一个登录注册页,使用邮箱接收验证码本文介绍是前后端分离的实现方式,厚后端使用 FastAPI+SQLAlchemy+Redis+Celery,你可以将 PyQt5 改为 PySide2 以获得更宽松的开源协议

注意

本文由于涉及到的代码较多,将会是一个系列,会有多篇文章,且不在像 前后端未分离项目一样,做详细步骤描述,只写主要内容,详细的代码你需要自主查看 GItHub 上的公开仓库

系列文章索引

  1. 设计登录注册页面
  2. 添加代码运行登录注册页,并为其添加一些样式,和调用资源文件
  3. 使用 FastAPI+SQLAlchemy+Redis+Celery 编写API
  4. 使用 Pyqt5 GUI页面请求API,实现逻辑功能

环境

使用到的开源库如下

# requirements.txt
# The project is developed based on Windows Python3.8-64, version: 3.8.10
PyQt5
PyQt5-stubs
pywin32
email-validator

结构

结构解释如下,方便你理解

--- QtLoginRegistrationClient
  |--- core
     |--- __init__.py
     |--- login_register.py            # 登录注册
  |--- lib
     |--- __init__.py
     |--- basic_function.py            # 存放公共方法
     |--- crypto.py                    # 本地密码的加解密,存在在 SQLite3 中
     |--- crypto_sqlcipher.py          # 将 SQLite3 替换为 SQLCipher,实现本地数据库密码访问
     |--- network.py                   # 网络请求:get,post,put,delete
  |--- static
     |--- qss                          # 存放qss样式的目录
        |--- login_register.qss        # 样式(类似于CSS)
     |--- resources.qrc                # 新加的资源文件
     |--- resources_rc.py              # 资源文件转换的 Py 文件
  |--- uis
     |--- __init__.py
     |--- LoginRegisterEmail.py        # ui 文件转换的 Py 文件
     |--- LoginRegisterEmail.ui        # 登录注册页
     |--- MianWindow.py                # ui 文件转换的 Py 文件
     |--- MianWindow.ui                # 系统主页
  |--- main.py                         # 入口
  |--- main_window.py                  # 主窗口
  |--- setting.py                      # 设置

区别

与 前后端未分离的相比,主要区别如下

  1. 取消数据库交互,而是改用QtNetwork实现网络请求
  2. login_register.py中,全部改为用 网络请求 实现功能
  3. SQLite3替换为SQLCipher,实现本地数据库密码访问,编译pysqlcipher3平替SQLite3

GitHub完整代码
本文章的原文地址
GitHub主页

标签:文件,登录,FastAPI,GUI,py,PyQt5,---,Pyqt5
From: https://www.cnblogs.com/yqbaowo/p/18089939

相关文章

  • FastApi中使用ORM
    1、介绍在应用的开发过程中肯定会使用到数据库,FastApi中是一个异步的web框架配合异步的ORMTortoise能让FastAPI的并发性能,而且TortoiseORM是受DjangoORM框架启发的,从DjangoORM移动TortoiseORM就很平滑。#安装pipinstallfastapipipinstalltortoise-orm2、项目......
  • 使用FastAPI+SQLAlchemy+Redis+Celery 编写一个完整的用户登录验证API
    使用PyQt5+FastAPI+SQLAlchemy+Redis+Celery做一个登录注册页(三)本文将介绍用PyQt5+FastAPI+SQLAlchemy+Redis+Celery做的一个登录注册页,使用邮箱接收验证码,本文介绍是前后端分离的实现方式,厚后端使用FastAPI+SQLAlchemy+Redis+Celery,你可以将PyQt5改为PySide2以获得更宽松......
  • Td-Genie v2.1.0版本发布(TDengine GUI图形界面工具)
    Td-Geniev2.1.0免费开源的TDengine时序数据库图形用户界面工具,为用户提供直观、易用的数据库管理和操作体验!介绍Td-Genie是一款功能全面、操作简便的TDengine时序数据库图形界面工具,V2.1.0目前支持的TDengineServer版本列表如下:TDengine2.x版本(2.6.0.34已测试)TDengine......
  • 使用 langchain 连接 通义千问 并用 fastApi 开放接口
    安装langchain方法https://www.cnblogs.com/hailexuexi/p/18087602安装fastapifastapi 是一个用于构建高性能Web应用的Python框架,它提供了简洁、高效的API开发体验。pipinstallfastapi 安装uvicornuvicorn 是一个用于运行 FastAPI 应用的服务器,它可以将......
  • Ubuntu2204 GUI root用户无法登录的处理方法
    Ubuntu2204GUIroot用户无法登录的处理方法背景今天上午同事cloneubuntu2204之后想通过GUI登录修改IP以及进行一些安全设置发现root用户登录输入密码后就会返回登录界面.会进入一个无线死循环的额状态.这里记录一下进行地址设置和解决root登录的问题.解决IP地址的设......
  • 如何使用 FastApi
    上一篇写了如何使用langchainhttps://www.cnblogs.com/hailexuexi/p/18087721这样langchain与大模型之间就可以调用了,但项目实践中需求接口来完成调用那FastApi正好能解决这个问题下面讲一下如何使用FastApi安装fastapifastapi 是一个用于构建高性能Web应用的......
  • 课程设计——基于matlab语言的PCA人脸识别系统的设计与实现,采用GUI界面进行效果演示
    本论文源码是基于Matlab实现的PCA算法来进行人脸图片的识别与比对,通过GUI界面进行效果展示,适合基于matlab、人脸识别等人工智能领域的课程设计和毕设,整个算法结构简单、易于理解,如需完整源码,可以联系博主获取。一、引言人脸识别技术作为计算机视觉领域的一个重要分支,因其......
  • Linuxcentos7配置网卡的方法(非gui篇)
    网卡配置方法有好几种,本次讲述的是非gui的centos7配置方法 目录 1、普通配置网卡方法: 2、使用命令行工具nmcli(NetworkManager的命令行界面)方法:删除连接:创建新的连接:注意事项:附记:  1、普通配置网卡方法:由于本次操作过程和我之前发布的文章的第一种原理......
  • 【QT+QGIS跨平台编译】之八十三:【QGIS_Gui跨平台编译】—【错误处理:未定义类型QgsColo
    文章目录一、未定义类型QgsColorRamp二、错误处理一、未定义类型QgsColorRamp错误信息:二、错误处理第29行增加:#include"qgscolorramp.h"......
  • 【GUI界面软件】快手评论区采集:自动采集10000多条,含二级评论、展开评论!
    目录一、背景说明1.1效果演示1.2演示视频1.3软件说明二、代码讲解2.1爬虫采集模块2.2软件界面模块2.3日志模块三、获取源码及软件一、背景说明1.1效果演示您好!我是@马哥python说,一名10年程序猿。我用python开发了一个爬虫采集软件,可自动抓取快手评论数据,并且含二级评论......