一、课程定位与技术全景
本课程由资深架构师全程带队,基于 python + flask 框架,从零构建一个功能完整的新闻资讯Web应用。项目涵盖前后端交互、用户认证、数据库设计、缓存策略、后台管理及云端部署等企业级开发全链路。课程共分为14个阶段,每个阶段均以“需求分析→代码实现→测试验证”为节奏,帮助学员掌握生产级项目的工程化组织方式,并附带完整课件与源码。
二、项目初始化与环境配置(第1–2阶段)
项目简介与版本控制:概述项目背景(新闻聚合平台)与技术选型(flask、Redis、MySQL、Git)。创建项目并集成Git,推送到码云(Gitee)进行代码托管。
配置与目录结构:
配置数据库连接(MySQL)与Redis缓存,集成CSRFProtect防护,指定Session存储位置。
集成Flask-Script命令行工具与数据库迁移(Migrate)模块。
抽取多环境配置(开发/生产/测试),通过配置名称动态加载,实现环境隔离。
封装应用工厂函数,支持根据不同配置创建App实例。
配置日志系统(输出级别、格式、文件轮转),并将日志集成至项目。
设计蓝图(Blueprint)模块,解决循环导入问题,使用类型注释提升代码可读性。
三、数据库建模与模板渲染(第3阶段)
设计核心数据表:用户表、新闻表、分类表、评论表、收藏关系表等,并建立外键与多对多关联。
使用Flask-Migrate执行数据库迁移,导入测试数据。
引入静态资源(CSS/JS/图片),配置根路径模板渲染及favicon.ico图标。
四、用户认证与注册登录(第4–5阶段)
注册功能:前端表单验证、密码加密存储(采用哈希算法)。集成图片验证码(自定义生成类),前端请求验证码图片,后端生成并存入Redis(带过期时间)。集成云通讯(容联云)短信验证码工具类,实现手机号发送验证码,并将验证码暂存Redis。后端校验短信码、密码及手机号后完成用户注册。
登录与会话管理:登录后端逻辑(验证账号密码、设置Session),前端异步请求及登录状态显示。退出登录清除Session。配置SQLAlchemy的teardown自动提交事务,并实现CSRF令牌的前后端校验机制,防范跨站请求伪造。
五、首页内容展示与新闻详情(第6–7阶段)
新闻列表与排行:首页展示新闻分类(按频道筛选),支持分页加载更多。使用自定义过滤器为排行列表动态添加CSS类。后端提供JSON接口返回列表数据,前端通过Ajax异步请求并渲染。
新闻详情页:从首页跳转至详情页,抽取基类模板避免重复代码。详情页展示新闻标题、正文、发布时间、作者、阅读数等。通过装饰器统一查询当前登录用户信息(若已登录),并利用
functools.wraps保留原函数属性。
六、交互功能:收藏、评论与点赞(第8阶段)
新闻收藏:前端界面显示是否已收藏,后端提供收藏/取消收藏接口(操作关联表),实时更新收藏状态。
评论与回复:支持用户对新闻发表一级评论,并可对已有评论进行回复(二级评论)。后端保存评论数据(包含层级关系),前端展示评论树及数量统计。
点赞功能:对新闻本身点赞,以及对单条评论点赞/取消点赞,后端记录点赞状态,防止重复操作。
七、个人中心与用户内容管理(第9–10阶段)
创建个人中心模块(蓝图),抽取基类模板。
基本资料修改:展示并允许用户修改昵称、签名、性别等信息。
头像上传:集成七牛云对象存储,封装上传工具方法(生成上传凭证、保存URL)。前端实现图片裁剪与预览,后端接收并保存头像链接。
密码修改:验证旧密码后更新新密码。
我的收藏与发布:展示用户收藏的新闻列表以及用户已发布的新闻列表,支持分页。
八、后台管理(第11–13阶段)
管理员账号通过命令行脚本添加,登录后台独立于前台Session。
数据概览:显示总用户数、月新增、日新增,以及近30天用户活跃趋势折线图(返回JSON数据)。
用户管理:分页展示注册用户列表,支持搜索。
新闻审核:展示待审核新闻列表(含搜索过滤),审核详情页加载新闻完整信息,通过/拒绝操作更新状态。
版式与分类管理:新闻编辑功能(修改标题、正文、分类等);新闻分类的增删改操作。
权限控制:修复普通用户直接访问后台页面的漏洞,增加登录验证与角色校验。
九、社交扩展(补充)
新闻详情页显示作者信息,并支持关注/取消关注作者。
个人中心展示关注列表,以及查看其他用户主页(显示其资料与发布的新闻)。
十、生产部署(第14阶段)
选购阿里云ECS服务器,配置安全组与运行环境。
使用Gunicorn作为WSGI服务器,配合Nginx进行反向代理与静态文件转发。
演示从代码上传、环境安装到服务启动的完整部署流程,确保项目能够在公网稳定运行。
十一、课程特色与学习收益
全流程实战:从本地开发到云端上线,覆盖完整项目生命周期。
技术栈全面:flask、Redis、MySQL、Git、七牛云、Gunicorn、Nginx,以及多种扩展库(flask-Script、Migrate、WTF等)。
交互丰富:涵盖短信验证、图片验证、实时收藏/评论/点赞、头像上传等真实业务场景。
工程规范:配置分离、工厂模式、蓝图分层、日志集成、异常处理,培养良好架构习惯。
本课程适合具备Python基础、希望提升后端开发能力的学员,学成后可直接胜任中小型Web项目的独立开发与维护。


评论0