参考书籍:玩转Django 2.0/黄永祥著.-北京:清华大学出版社,2018
项目需求分析
总体需求
网络在线音乐项目主要涉及以下6个功能模块:网站首页、歌曲排行榜、歌曲播放、歌曲搜索、歌曲点评和用户管理,各个功能说明如下:
• 网站首页是整个网站的主界面,主要显示网站最新的动态信息以及网站的功能导航。网站动态信息以歌曲的动态为主,如热门下载、热门搜索和新歌推荐等;网站的功能导航是将其他页面的链接展示在首页上,方便用户访问浏览。
• 歌曲排行榜是按照歌曲的播放量进行排序,用户还可以根据歌曲类型进行自定义筛选。
• 歌曲播放是为用户提供在线试听功能,此外还提供歌曲下载、歌曲点评和相关歌曲推荐。
• 歌曲点评是通过歌曲播放页面进入的,每条点评信息包含用户名、点评内容和点评时间。
• 歌曲搜索是根据用户提供的关键字进行歌曲或歌手匹配查询的,搜索结果以数据列表显示在网页上。
• 用户管理分为用户注册、登录和用户中心。用户中心包含用户信息、登录注销和歌曲播放记录。
项目框架
需求细化
网站首页
网站首页可以分为7个功能区,说明如下。
• 歌曲搜索:位于网页顶端,由文本输入框和搜索按钮组成,文本输入框下面是热门搜索的歌曲。
• 轮播图:以歌曲的封面进行轮播,单击图片可进入歌曲播放。
• 音乐分类:位于轮播图的左边,按照歌曲的类型进行分类。
• 热门歌曲:位于轮播图的右边,按照歌曲的播放量进行排序。
• 新歌推荐:按照歌曲的发行时间进行排序。
• 热门搜索:按照歌曲的搜索量进行排序。
• 热门下载:按照歌曲的下载量进行排序。
歌曲排行榜
歌曲排行榜分为两部分:歌曲分类和歌曲列表,说明如下。
• 歌曲分类:根据歌曲类型进行歌曲筛选,筛选后的歌曲显示在歌曲列表中。
• 歌曲列表:歌曲信息以播放次数进行降序显示,若对歌曲进行类型筛选,则对同一类型的歌曲以播放次数进行降序显示。
歌曲播放
歌曲播放个页面共有4大功能:各个功能说明如下。
• 歌曲信息:包括歌名、歌手、所属专辑、语种、流派、发行时间、歌词、歌曲封面和歌曲文件等。
• 下载与歌曲点评:实现歌曲下载,每下载一次都会对歌曲的下载次数累加一次。单击“歌曲点评”可进入歌曲点评页面。
• 播放列表:记录当前用户的试听记录,每播放一次都会对歌曲的播放次数累加一次。
• 相关歌曲:根据当前歌曲的类型筛选出同一类型的其他歌曲信息。
歌曲点评
歌曲点评主要分为两部分:歌曲点评和点评信息列表,两者说明如下。
• 歌曲点评:由文本输入框和发表按钮组成的表单,以POST的请求形式实现内容提交。
• 点评信息列表:列出当前歌曲的点评信息,并对点评信息设置分页功能。
歌曲搜索
歌曲搜索主要根据文本框的内容对歌名或歌手进行匹配查询,然后将搜索结果返回到搜索页面上,其说明如下:• 若文本框的内容为空,则默认返回前50首最新发行的歌曲。
• 若文本框的内容不为空,则从歌曲的歌名或歌手进行匹配查询,查询结果以歌曲的发行时间进行排序。
• 每次搜索时,若文本框的内容与歌名完全相符,则相符的歌曲将其搜索次数累加一次。
用户管理
用户中心需要用户登录后才能访问,该页面主要分为用户基本信息和歌曲播放记录,说明如下。
• 用户基本信息:显示当前用户的用户头像和用户名,并设有用户退出登录链接。
• 歌曲播放记录:播放记录来自于歌曲播放页面的播放列表,并对播放记录进行分页显示。
用户的注册和登录是由同一个页面实现两个不同的功能,注册与登录都是通过JavaScript脚本来控制显示的,其说明如下。
• 用户注册:填写用户名、手机号和用户密码,其中用户名和手机号码具有唯一性,而且不能为空。
• 用户登录:根据用户注册时所填写的手机号码或用户名实现用户登录。
数据库设计
说明:本文内容只为学习过程的实战记录,所有实现所属权归参考书籍作者所有。