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

举报
程序员一诺python 发表于 2025/09/17 10:54:38 2025/09/17
【摘要】 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 配置 启

🏆🏆🏆教程全知识点简介: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.返回结果

🚀✨ (未完待续)项目系列下一章

📚下一篇 将进入更精彩的环节! 🔔 记得收藏 & 关注,第一时间获取更新! 🍅 一起见证整个系列逐步成型的全过程。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。