- 博客(46)
- 收藏
- 关注
原创 FastAPI × Vue3 JoyFit 系统阶段开发计划 · 开发步骤总览
本文为FastAPI与Vue3结合开发健身SaaS系统JoyFit的全阶段开发计划总览,涵盖从数据库准备、后端工程搭建、ORM模型设计、认证权限实现到前端页面开发、联调部署的完整流程。强调“先完成后端、再开发前端”的顺序,确保接口稳定与开发效率。项目结构清晰,分16个阶段逐步推进,包含环境配置、模块化开发、Swagger文档生成及Nginx部署等关键环节,适用于系统性学习全栈开发的开发者。
2026-10-07 09:31:23
485
原创 Python 爬虫进阶理论知识体系总结
本文系统梳理Python爬虫进阶核心知识体系,涵盖requests、Session、Selenium、Playwright及Scrapy等主流工具的原理与适用场景,对比分析其在请求方式、动态渲染支持、性能表现等方面的差异。深入讲解HTTP请求参数(如params、json、headers、cookies)、并发模型(线程/进程/协程/异步)及代理、超时、重定向等关键配置。强调工具选型应基于目标网站特性与需求,构建高效、稳定、可维护的爬虫架构。
2026-10-02 17:15:25
789
原创 从空 Django 项目开始,到 MySQL 存储,再到 User + Role 权限控制跑通*
在使用 user app 里的 User 模型作为 Django 的用户模型1. 创建 Django 项目2. 创建 user app3. 创建 role app4. 配置 MySQL5. 使用 pymysql 连接 MySQL6. 自定义 User 模型7. 创建 Role 模型8. User 关联 Role9. 迁移表到 MySQL10. 创建超级管理员11. 后台创建角色12. 后台给用户分配角色13. 编写角色权限装饰器14. 配置 user 路由15. 配置项目主路由。
2026-05-21 14:27:51
637
原创 Django 后端实战指南_18:Vue3 用户扩展档案页面
本阶段完成Vue3用户扩展档案页面开发,通过新增profile.js接口封装,实现GET/PUT /api/profile/me/的读写功能。使用<script setup>与reactive管理表单数据,精准处理日期时间格式转换,规范空值提交。在路由与首页菜单中追加“我的档案”入口,仅受登录保护,不设权限码。项目至此贯通前后端全链路,实现用户信息查看与编辑闭环。
2026-10-19 15:05:33
339
原创 Django 后端实战指南_17:Vue3 对接门店、课程、动作接口
本阶段基于Vue3实现门店、课程、动作接口的前端对接,通过<script setup>封装API请求,调用后端接口并渲染列表数据。支持按分类、难度等条件筛选,实现在课程与动作列表中收藏/取消收藏功能,并在“我的收藏”页展示用户收藏内容。新增4个页面,完成路由配置与登录保护,不引入组件库,以原生元素确保接口连通性与逻辑清晰。
2026-10-19 15:04:44
302
原创 Django 后端实战指南_16:动作分类、动作库、动作收藏查询接口
本阶段实现动作分类、动作库及用户收藏的受登录保护接口,共6个接口:分类列表、动作筛选查询(支持多条件)、动作详情、用户收藏列表、收藏与取消收藏。基于ActionCategory、Action、UserActionFavorite三表构建,通过JWT识别用户身份,确保数据隔离。序列化时关联当前用户,输出is_favorite与favorite_id;使用get_or_create实现幂等收藏,避免重复记录。所有接口统一挂载于/api/exercise/前缀,遵循课程模块一致的视图结构与响应规范,前端无需额外适
2026-10-19 15:04:02
443
原创 Django 后端实战指南_15:课程分类、课程、课程收藏、门店课程排期查询接口
本阶段在Django系统中复用阶段14的接口模式,实现course模块7个API接口:5个查询(课程分类、课程列表、详情、收藏列表、排期)与2个写操作(收藏、取消收藏)。通过get_or_create实现幂等收藏,使用JWT鉴权确保多用户数据隔离,支持参数筛选与日期格式校验。接口均需登录,请求体解析与跨站伪造防护已妥善处理,完整覆盖课程管理核心功能。
2026-10-19 15:03:09
260
原创 Django 后端实战指南_14:门店、省份、用户门店关系查询接口
本阶段实现 store 模块4个受 JWT 保护的只读查询接口:省份列表、门店列表(支持多条件筛选)、门店详情及当前用户关联门店。基于 t_store_province、t_store、y_user_store 三张表,采用 Django 类视图配合 login_required 装饰器,通过自定义序列化函数处理 Decimal 与 datetime 字段,统一返回 JSON 格式数据。接口路径为 /api/store/,完成应用与项目路由配置后,可通过 curl 进行登录态、筛选及权限验证测试,形成可复用
2026-10-19 15:02:29
217
原创 Django 后端实战指南_13:初始化门店、课程、动作测试数据
本阶段通过Django管理命令init_business_data,以幂等方式初始化门店、课程、动作三大模块的测试数据,涵盖省份、门店、用户关系、分类、课程/动作、排期及收藏等10类共25条记录。数据按依赖顺序写入,使用get_or_create确保重复执行无副作用。命令位于store/management/commands/目录,需前置完成阶段12表结构与阶段3 RBAC用户配置。最终为后续接口与页面开发提供统一、完整的数据基础。
2026-10-16 09:25:53
167
原创 Django 后端实战指南_12:拆分业务模块并创建 store / course / exercise
本阶段将系统拆分为 store、course、exercise 三个业务应用,分别对应门店、课程、动作域。通过 startapp 创建应用并注册至 settings.py,依据SQL定义10张业务表的模型,配置外键、唯一约束与索引,注册至Django Admin,生成并执行迁移,在MySQL中成功创建表。重点完成模型层搭建,接口与逻辑留待后续阶段。
2026-10-16 09:25:03
128
原创 Django 后端实战指南_11:用户档案查询和修改接口
本阶段实现用户档案查询与修改接口,通过 /api/profile/me/ 统一地址支持 GET(查询)与 PUT(修改),基于 JWT 鉴权确保用户仅可操作自身档案。接口自动创建空档案,完成字段校验与数据格式转换,返回标准化响应结构,支持日期、小数等类型解析,并通过 curl 测试验证权限控制与数据一致性。
2026-10-16 09:24:16
139
原创 Django 后端实战指南_10:用户扩展档案信息表
本阶段在用户表基础上新增sys_user_profile扩展档案表,通过外键关联sys_user,实现一对一关系。在rbac/models.py中定义SysUserProfile模型,包含性别、生日、身高体重等字段,并使用choices枚举与ForeignKey配置。注册至Django Admin,配置列表展示与筛选。执行迁移后,在MySQL中验证表结构,通过Shell创建测试数据核验关联关系。本阶段仅完成模型与数据库层构建,不涉及接口、前端及权限控制。
2026-10-16 09:22:34
80
原创 Django 后端实战指南_9:前后端完整联调和问题修复
本阶段完成前后端完整联调,验证登录、JWT携带及RBAC权限拦截效果。通过admin与zhangsan账号测试,确认权限控制准确:admin可增删改查,zhangsan仅能查看用户列表。使用curl手动请求接口,验证后端对无权限操作的403拦截有效。修复CORS、401、403等常见问题,优化token自动刷新机制,并确保前端菜单按钮按权限动态渲染。最终实现权限闭环,为下一阶段奠定基础。
2026-10-16 09:21:48
372
原创 Django 后端实战指南_8:Vue3 根据权限显示菜单和按钮
本阶段基于权限动态渲染菜单与按钮,复用hasPermission方法实现页面及操作项的条件显示。通过封装用户接口,对接user:list、user:add、user:delete权限,构建403无权限页面,并在路由中配置meta.permission进行访问拦截。首页按权限显示菜单,用户管理页根据权限控制新增与删除按钮,确保前端权限展示与后端校验职责分离,提升系统安全性与用户体验。
2026-10-15 11:20:51
126
原创 Django 后端实战指南_7:实现 Vue3 登录
本阶段基于Django后端的JWT登录接口,搭建Vue3前端工程,通过django-cors-headers解决跨域问题,使用Vite、axios、vue-router与pinia构建SPA应用。封装请求实例实现token自动携带与401跳转,利用Pinia管理登录状态并持久化至localStorage,配置路由守卫拦截未登录访问,最终完成登录页与首页开发,实现admin与zhangsan账号的登录验证,打通前后端认证链路。
2026-10-15 11:19:58
98
原创 Django 后端实战指南_ 6:实现接口权限拦截
本阶段实现基于JWT与RBAC的接口权限拦截,通过解析请求头中的access_token认证用户身份,并结合权限标识(如user:list、user:add)进行访问控制。新增统一响应模块responses.py和认证装饰器auth.py,实现登录校验与权限拦截功能。完成查看当前用户、用户列表、新增及删除用户四个受保护接口,覆盖“有权—无权—无token”三类场景测试,确保接口返回结构一致且权限控制准确。
2026-10-15 11:19:16
114
原创 Django 后端实战指南_5:实现 JWT 登录
本阶段基于 JWT 实现登录与 token 刷新功能,解决后端识别请求用户身份的问题。通过安装 PyJWT 并配置有效期与加密算法,编写 jwt_utils.py 实现 token 的生成与解析。实现 /api/login/ 接口完成账号校验并返回 access_token 与 refresh_token,以及 /api/token/refresh/ 接口以 refresh_token 换取新 access_token。接口支持跨平台测试,符合双 token 安全设计,为后续权限控制奠定基础。
2026-10-15 11:17:14
270
原创 Django 后端实战指南_4:实现 RBAC 权限判断
本阶段基于RBAC四表关系,实现权限判断服务。通过RBACService类,根据用户ID或用户名获取其角色关联的权限标识集合,判断用户是否拥有指定权限。核心逻辑为:用户存在且状态正常 → 获取角色 → 查询角色权限 → 比对permission_code。支持多种输入方式,返回布尔结果。最终在Django shell中验证admin与zhangsan的权限判断,确认user:list权限命中,user:delete未命中,完成权限链路闭环。
2026-10-15 11:13:41
293
原创 零基础玩转 FastAPI_12:前端详情增强与角色权限分配
本阶段在完成后台基础功能基础上,增强角色权限管理与用户信息配置能力。后端新增查询角色权限接口,支持按角色ID获取权限列表;前端实现角色权限分配弹窗、用户档案编辑及门店绑定功能。通过完善API封装与OpenAPI测试,确保权限数据可查可配,提升系统管理精细化水平。
2026-10-14 09:51:45
338
原创 零基础玩转 FastAPI_11:前端后台管理页面
本阶段完成前端后台管理页面开发,基于已实现的登录权限与布局,替换占位页为真实业务页面。涵盖用户、门店、课程、动作库、活动、Slogan、角色及权限管理功能,通过封装各模块API并配置路由,实现数据增删改查与页面联动。依赖后端提供完整接口,暂不支持角色权限回显(因缺少查询接口),后续补全。最终实现管理功能闭环,进入下一阶段准备。
2026-10-14 09:49:12
467
原创 零基础玩转 FastAPI_10:前端登录、权限与布局
本阶段实现前端登录认证与权限控制,完成登录接口封装、状态管理、路由守卫及动态菜单加载。通过本地存储Token实现登录态持久化,支持刷新恢复用户信息,未登录访问后台自动跳转至登录页。基于后端返回的权限与菜单数据构建动态侧边栏,未完成页面使用占位组件替代。最终实现安全、可扩展的前端权限体系,为后续业务开发奠定基础。
2026-10-14 09:48:22
225
原创 零基础玩转 FastAPI_09:前端基础工程构建
本阶段基于后端接口稳定,使用 Vite 创建 Vue3 + TypeScript 项目,集成 Vue Router、Pinia、Axios 与 Element Plus,配置开发代理、环境变量及全局请求封装。完成基础路由、布局、首页与 404 页面搭建,实现前端工程化基础架构,支持本地服务启动与后端接口联通验证,为后续功能开发奠定坚实基础。
2026-10-13 14:41:39
602
4
原创 零基础玩转 FastAPI_08:后端测试与接口文档
本阶段聚焦后端测试与接口文档完善,通过自动化测试确保OpenAPI路由、权限种子、Schema校验及响应结构的完整性,生成openapi.json供前端对接,并输出接口验收清单,保障前后端协作高效稳定。
2026-10-13 14:40:23
94
原创 零基础玩转 FastAPI_07:后端活动首页模块
本阶段基于动作库模块,完成首页内容活动后端功能开发。新增Slogan与活动的CRUD接口,实现权限控制(slogan:*、event:*),并提供无登录访问的首页聚合接口。通过补充权限种子、定义Schema、编写Service与API路由,最终在Swagger中验证接口可用性,达成前端首页数据获取与后台管理需求。
2026-10-12 09:15:13
202
原创 零基础玩转 FastAPI_06:后端动作库模块
本阶段基于课程模块完成,实现动作库后端功能:构建动作分类与动作条目管理接口,支持增删改查、分页筛选及用户收藏功能。通过Schema定义数据结构,Service处理业务逻辑,API路由暴露接口,并接入action:*权限控制。最终在Swagger中验证接口可用性,确保管理员可维护动作数据,用户可收藏/取消收藏动作,满足前后端联动需求。
2026-10-12 09:12:04
319
原创 第七阶段:数据存储与部署
第七阶段聚焦数据持久化与爬虫部署,实现从“手动脚本”到“自动化服务”的工程化跃迁。通过合理选型MySQL(结构化数据)、MongoDB(原始抓取)与Redis(去重、队列),构建高效存储体系;结合Scrapy Pipeline完成数据写入,并利用nohup、Scrapyd、Docker与crontab实现服务器后台运行与定时调度。掌握连接池、乱码、批量失败等常见问题的排查方法,最终使爬虫具备长期稳定运行能力。
2026-10-10 09:15:04
72
原创 零基础玩转 FastAPI_05:后端课程模块
本阶段聚焦后端课程模块开发,基于已实现的用户与权限体系,完成课程分类、课程主数据及用户收藏功能。通过定义Schema、实现Service逻辑、构建API路由并注册,实现课程增删改查、分类管理、分页筛选及用户收藏(收藏/取消/查看)等接口。所有后台接口接入course:*权限控制,用户收藏仅需登录认证。最终通过Swagger验证接口可用性,确保功能完整可测,为下一阶段奠定基础。
2026-10-09 18:00:14
203
原创 零基础玩转 FastAPI_04:后端用户门店模块
本阶段在完成登录认证与RBAC权限基础上,实现用户与门店模块的后端功能。涵盖用户、档案、省份、门店及绑定关系的增删改查接口,支持分页查询、状态管理、权限校验,并通过Swagger验证接口可用性。所有接口均接入RBAC权限控制,确保管理员操作安全合规。
2026-10-09 17:58:18
170
原创 零基础玩转 FastAPI_03:后端登录认证与 RBAC 权限
本阶段基于ORM模型,实现后端登录认证与RBAC权限系统。通过扩展环境变量、引入JWT加密与安全工具,构建用户认证、角色权限管理及接口级权限校验机制。自动初始化管理员账号、角色与权限,支持登录鉴权、Token获取用户信息与权限,并提供统一依赖注入(get_current_user、require_permission),为后续模块复用奠定基础。
2026-10-08 09:22:58
174
原创 零基础玩转 FastAPI_02:后端数据库模型与通用能力
本阶段完成FastAPI后端数据库模型与通用能力构建,基于sql/ddl.sql创建权限、用户、门店、课程、动作库、内容活动等12个核心模型,严格对齐表结构与主键命名规范,建立外键关系与ORM映射。统一导出模型,开发通用Schema、分页工具及基础CRUD Service,增强日志记录与异常处理,通过模型注册测试验证完整性,为后续业务模块提供可复用的底层支撑。
2026-10-08 09:19:30
306
原创 零基础玩转 FastAPI_01:后端基础工程构建
本阶段构建 FastAPI 后端最小可运行基础工程,完成目录结构搭建、虚拟环境创建、依赖安装及核心模块开发,包括配置读取、数据库连接、统一响应、异常处理与健康检查接口。项目具备 Swagger 文档访问、环境变量管理、MySQL 连接能力,为后续 ORM 模型与业务开发奠定坚实基础。
2026-10-07 09:32:42
209
原创 Scrapy 专题:基础入门完整总结
本文系统梳理Scrapy爬虫框架从入门到实战的核心知识,涵盖工程化思想、工作流程、项目构建、Spider/Item/Pipeline设计、登录与中间件应用、全站抓取、增量与分布式爬虫等关键环节,附完整代码模板,助力高效开发可扩展的规模化爬虫项目。
2026-10-01 14:27:44
308
原创 DrissionPage 专题:定位、用法详解与工具对比
DrissionPage 是一款国产 Python 网页自动化库,基于 Chrome DevTools 协议,无需驱动即可控制 Chromium 浏览器。它提供 ChromiumPage(浏览器模式)、SessionPage(HTTP 模式)和 WebPage(双模式切换)三种形态,统一元素定位与操作语法,支持自动等待、网络监听、反检测接管等高级功能。相比 Selenium 无驱动负担,较 Playwright 更轻量易用,且文档中文友好。适用于个人及小团队的数据采集与自动化,但仅支持 Chromium 内
2026-10-01 14:25:21
429
原创 Django 后端实战指南_3:插入 RBAC 测试数据
本阶段通过自定义管理命令 init_rbac_data 初始化 RBAC 测试数据,涵盖权限、角色、角色权限关系及用户四类数据。使用 get_or_create 实现幂等插入,确保可重复执行。通过 MySQL 客户端、关联查询与 Django shell 多渠道验证数据完整性,确认权限与角色、用户间的正确关联,为后续开发奠定基础。
2026-09-29 19:28:17
296
原创 Django 后端实战指南_2:创建 RBAC 四张表
本阶段在 Django 项目中创建 rbac 应用,定义四张核心权限表:sys_permission(权限)、sys_role(角色)、sys_role_permission(角色权限关联)、sys_user(用户)。通过模型类实现外键与多对多关系,使用 through 指定中间表,注册至 Django Admin 后台,并执行迁移生成数据库表。最终验证建表成功,为后续权限控制奠定数据基础。
2026-09-29 19:27:46
152
原创 Django 后端实战指南_1:创建 Django 项目 + 连接 MySQL
本阶段完成 Django Vue3 项目骨架搭建,统一使用 rbac_project/backend/config 目录结构,安装 Django 与 MySQL 驱动(优先 mysqlclient),创建字符集为 utf8mb4 的 rbac_db 数据库,并配置 settings.py 实现连接。设置语言为简体中文、时区为上海,通过 migrate 验证连接成功,runserver 启动后访问欢迎页即标志阶段完成。
2026-09-29 19:27:15
277
原创 第五阶段:Scrapy 爬虫框架
本阶段系统学习 Scrapy 爬虫框架,掌握其五大核心组件(引擎、调度器、下载器、爬虫、条目管道)的协作机制与数据流转流程。通过项目创建、Spider 编写、Item 定义、Pipeline 处理及中间件扩展,实现高效、可配置、可分布式部署的工程化爬虫。结合 settings 配置与 Scrapy-Redis 实现高并发分布式抓取,显著提升开发效率与系统稳定性。
2026-09-29 18:00:18
493
原创 第四阶段:高并发与高性能爬虫
本阶段聚焦高并发爬虫,引入多线程、多进程与异步协程三种并发模型。针对IO密集型爬虫任务,对比分析三者在内存模型、调度开销与GIL影响下的适用性:协程因轻量高效最适于大规模请求;多线程适用于IO等待场景,需用锁保护共享数据;多进程则用于CPU密集型任务。通过线程池、进程池及asyncio+ aiohttp实现并发控制,结合队列与信号量优化吞吐,提升采集效率。
2026-09-29 17:59:12
524
原创 第三阶段:动态网页与浏览器自动化
本阶段聚焦动态网页抓取,核心解决JavaScript渲染导致数据缺失问题。通过Chrome DevTools抓包定位真实JSON接口,优先使用requests直接请求数据;无法复现时,采用Playwright实现浏览器自动化,支持自动等待、网络拦截与元素操作。相较Selenium,Playwright更高效稳定,是处理动态页面的首选方案。掌握接口定位与工具选型能力,为后续高并发与JS逆向打下基础。
2026-09-29 17:57:38
158
原创 第二阶段:网络基础与静态网页抓取
本阶段系统讲解爬虫核心链路:从HTTP/HTTPS协议基础入手,掌握请求-响应模型、常见请求方法与状态码含义;熟练使用requests库发送带参数、头信息及代理的GET/POST请求,理解会话维持机制;学习正则表达式、XPath、BeautifulSoup三种数据解析方式,完成静态网页数据提取与结构化存储。通过实战项目巩固技能,为后续动态内容抓取打下坚实基础。
2026-09-29 17:57:05
247
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅