【Flask开发】嘿马文学web完整flask项目第8篇:1.同类热门推荐,2.小说目录【附代码文档】

🏆🏆🏆教程全知识点简介:1. 内容 2. 目标 1.1产品与开发 1.2环境配置 1.3 运行方式 1.4目录说明 2.用户认证 2.1微某信平台 Json Web Token(JWT) 定义路由,书架管理--添加书籍 3.书架 4.1分类列表 5.搜索 5.3搜索-精准&高匹配&推荐 6.小说 6.4推荐-同类热门推荐 7.浏览记录 8.1配置-阅读偏好 8.配置 9.1项目部署uWSGI 配置 启动 9.部署 10.1异常和日志 10.补充 10.2 flask-restful 1.项目目录实现 2.数据库的设计 3.数据库迁移: 1.JWT:json web token 2.jwt工具的封装 4.用户权限校验 5.登录验证装饰器 1.书架列表 2.书架管理 3.最后阅读 2.分类书籍列表 3.热门搜索 7.3小说-详情 2.小说目录 2.阅读偏好 3.阅读设置

📚📚仓库code.zip 👉直接-->: https://gitee.com/yinuo112/Backend/blob/master/Flask/嘿马文学web完整flask项目/note.md 🍅🍅
✨ 本教程项目亮点
🧠 知识体系完整:覆盖从基础原理、核心方法到高阶应用的全流程内容
💻 全技术链覆盖:完整前后端技术栈,涵盖开发必备技能
🚀 从零到实战:适合 0 基础入门到提升,循序渐进掌握核心能力
📚 丰富文档与代码示例:涵盖多种场景,可运行、可复用
🛠 工作与学习双参考:不仅适合系统化学习,更可作为日常开发中的查阅手册
🧩 模块化知识结构:按知识点分章节,便于快速定位和复习
📈 长期可用的技术积累:不止一次学习,而是能伴随工作与项目长期参考
🎯🎯🎯全教程总章节
🚀🚀🚀本篇主要内容
1.同类热门推荐
-
接口设计:
-
请求地址:'/recommend/hots/category_id'
- 请求方法:GET
- 请求参数:
参数名称 是否必须 参数位置 参数说明
category_id True url路径参数 书籍分类id
-
返回结果:书籍的基本信息
-
实现步骤:
- 1.定义路由,接收url路径参数,作为视图函数的参数
- 2.根据参数分类id,查询数据库、获取大分类数据
- 3.判断如果有大分类数据
- 4.获取该大分类下面的二级分类数据,
- 5.根据分类,查询书籍表,获取对应分类的书籍数据,默认查询4条
- 6.保存书籍的基本信息
- 7.转成json格式返回
- 8.如果没有大分类数据,默认返回4条数据。
2.小说目录
-
在applet_app目录下,新建book.py文件
-
接口设计:
-
请求地址:'/book/chapters/book_id'
- 请求方法:GET
- 请求参数:
参数名 参数类型 是否必须 参数位置 参数说明
book_id int True url路径参数 书籍id
page int True 查询字符串 页数,默认1
pagesize int True 查询字符串 每页数据的条目数
[Matplotlib 文档]
order int True 查询字符串 排序条件,0表示升序,1降序
- 返回结果:章节目录信息,分类信息
[Flask 模板指南]
- 实现步骤:
- 1.获取查询字符串参数,page/pagesize/order
- 2.根据书籍id参数,查询书籍表
- 3.查询书籍章节目录表,按照书籍id进行过滤查询
- 4.根据order参数的排序条件,如果1倒序排序,如果0升序排序
- 5.对排序的结果,进行分页处理
- 6.遍历分页的数据,获取章节信息
- 7.转成json格式,返回数据
3.小说阅读
-
接口设计:
-
请求地址:'/book/reader/book_id'
- 请求方法:GET
- 请求参数:
参数名 是否必须 参数类型 参数说明
book_id True int url路径参数,书籍id
chapter_id False int 章节id,如果不传,默认按照用户阅读进度展示
Content-Type True application/json 请求头中指定数据格式
- 返回数据:小说书名、具体的章节id、章节内容;
[python-decouple 文档]
- 实现步骤:
- 1.根据书籍id,查询书籍表,确认书籍的存在
- 2.获取查询字符串参数章节id,校验参数
- 3.根据章节id,查询书籍章节表
- 4.判断查询结果
- 5.如果数据存在,查询书籍内容表
- 6.如果用户登录,查询用户阅读进度表;
- 7.返回数据
4.小说详情
- 实现步骤:
- 1.根据书籍id,查询数据书籍表
- 2.判断,如果用户登录,查询用户的浏览记录
- 3.判断查询结果,保存浏览记录
- 4.如果用户未登录,根据书籍id查询书籍章节表,默认倒序排序。
- 5.返回结果
1.我的浏览记录
-
接口设计:
-
请求地址:'/my/histories'
- 请求方法:GET
- 请求参数:
参数名 是否必须 参数类型 参数说明
page True int 查询字符串,页数
pagesize True int 查询字符串,每页的条目数
-
返回数据:分页后的浏览数据,书籍名称、作者、封面图片、日期
-
实现步骤:
- 1.新建my.py文件,用来实现关于浏览记录的功能代码;
- 2.创建蓝图、定义蓝图、注册蓝图
- 3.导入登录验证装饰器
- 4.获取参数,page和pagesize
[Sanic 文档]
- 5.查询数据库浏览记录表,根据用户id查询,分页处理
- 6.获取分页后的数据
- 7.转成json,返回数据
2.阅读偏好
-
接口设计:
-
请求地址:'/config/preference'
- 请求方法:POST
- 请求参数:
参数名 是否必须 参数类型 参数说明
gender True string 请求体,用户性别
-
返回结果:设置成功
-
实现步骤:
- 1.获取参数,post请求体中json数据
- 2.校验参数,性别的范围
- 3.查询数据库,用户表,获取用户信息
- 4.保存数据、提交数据
- 5.返回结果
3.阅读设置
[json 文档]
-
接口设计:
-
请求路径:‘/config/reader’
- 请求方法:POST
- 请求参数:application/json
参数名 是否必须 参数类型 参数说明
brightness True int 亮度10-100
font_size True string 字号大小
background True string 内置背景颜色
turn True string T1表示仿真、T2表示平滑、T3表示默认设置
-
返回数据:返回设置成功。
-
实现步骤:
- 1.获取参数、亮度、字号、背景、翻页效果
- 2.查询数据库,用户表,根据用户id查询用户信息
- 3.保存设置信息,提交数据
- 4.返回结果
🚀✨ (未完待续)项目系列下一章
📚下一篇 将进入更精彩的环节! 🔔 记得收藏 & 关注,第一时间获取更新! 🍅 一起见证整个系列逐步成型的全过程。
- 点赞
- 收藏
- 关注作者
评论(0)