BBS-个人博客项目完整搭建
在这一章中,我们会将前面所有学到的知识进行综合运用,从0开始完成一个django框架的web实战项目——多用户个人博客的搭建。
项目开发流程
在正式开发这个项目之前,首先我们必须了解一套完整的项目开发流程
一、项目分类
现在互联网公司需要开发的主流web项目一般分为两类:面向互联网用户,和公司内部管理。
我们平时在日常生活中使用的应用程序(通俗地说,就是app),诸如抖音,淘宝等等,都属于面向互联网用户的应用。在此类应用软件中,产品经理有着非常重要的协调和规划作用,是一个项目成功与否的决定性人物。
还有一类web应用,基本采用基于角色的权限控制,不同的员工在这套系统中拥有不同的权限,适用于公司内部管理。
我们在这一章中学到的bbs项目属于第一种,面向互联网用户的web应用。
二、项目开发模式分类
项目的开发模式中最常见的两类为瀑布开发模式和敏捷开发模式。
1、瀑布开发模式
瀑布开发模式是一种更倾向于严格控制的管理模式,要求在提出需求之后,充分完成项目的规划,各阶段都要经过严格的评审,只有当一个阶段的需求完成得非常好时才能进入下一个阶段。
但是瀑布开发模式开发的失败率较高,且周期较长,于是就产生了敏捷开发模式。
2、敏捷开发模式
敏捷开发模式的核心是迭代开发,它将一个项目完整的开发流程分为了几个周期(也可以说是版本),由于每个版本的开发流程相似,看上去相当于一个重复迭代的过程。这么开发的好处是,使一个大的项目能在较短时间内上线,并在后续对它进行不断地迭代和优化。
3、项目开发流程
-立项
-需求分析
-原型图
-切图
-技术选型,数据库架构设计
-前后端协同开发
-上线测试服务器联调
-测试
-修改bug
-上线运行
4、BBS多人博客项目基本功能和需求
基本需求:
1 注册功能
-使用forms组件
-使用Ajax提交数据信息
-支持上传头像
2 登录功能
-使用Ajax提交数据信息
-渲染用户名密码不符合要求的错误信息
3 博客首页
-列出所有文章
-文章旁边可以显示作者头像
-文章旁边可以看到文章的发布时间
-文章旁边可以看到点赞点踩的数量
4 个人站点
-左侧使用inclusion_tag对标签和分类进行过滤
-展示个人站点中的文章
5 文章详情页
-点赞点踩功能(同一用户只能点一次)
-评论功能(包含子评论)
6 后台管理功能
-展示登录用户的所有文章
-文章新增(防止xss攻击)
另有部分拓展需求我们会在每一节中详细列出
5、项目程序设计
前后端混合项目,需要python解释器(建议使用3.6),django(建议版本2.2.2)
我们在一步步设计这个项目的时候,应该始终牢记每个功能都要遵循django请求的生命周期图,如下图