第 9 章 项目实战
从本章开始进入论坛项目实战阶段,将给大家讲到的是一个 Python 论坛项目的实现,项目的名称叫作 pythonbbs,这会把之前的 Flask 基础知识融入进去,还会讲解一些真实企业项目功能的解决方案,如文件上传、邮件发送、头像处理、权限管理等。读者在学习完本项目实战后,可以把这些解决方案直接应用到实际开发中。
我们在开发一个产品之前,先要有项目需求文档。一个网站的大概的制作流程如下。
-
公司相关领导提出产品制作计划,描述产品需求。
-
产品经理整理需求,细化功能,制作产品原型图。
-
设计师定主色调,按照原型图制作产品设计图。
-
网站开发者按照原型图和设计图完成产品的制作。
-
测试工程师对产品进行功能和性能测试,如有问题提交给网站开发者,开发者继续完善,直至测试通过。
-
运维工程师部署产品上线,并负责保证产品正常运行。
为了节省时间,我们提前设定好了产品需求和 HTML 静态页面,所以无须经过前 3 个步骤的操作。在接下来的小节中将分别详细介绍后面 3 个步骤。
在学习开发 pythonbbs 项目之前,我们先来了解本项目的需求。本项目主要由两部分组成,分别为论坛前台和论坛后台。论坛前台功能包括登录、注册、查看帖子、过滤帖子、发布帖子、帖子详情、帖子评论、帖子点赞等功能。论坛后台功能包括论坛首页、帖子管理、评论管理、用户管理、权限管理、角色管理等。将以上项目需求绘制成思维导图,如图 9-1 所示。
在图 9-1 中,CMS 是 Content Management System 的缩写,即内容管理系统,也就是论坛后台。了解了产品需求以后,下面就开始创建项目,实现产品功能。

Figure 1. 图9-1 Python论坛项目思维导图