python-Django项目实战-1

353 阅读5分钟

音乐网站平台实战

本次课以音乐网站项目为例,介绍Django框架在实际开发中的应用。

音乐网站功能模块有6个,分别是:

  • 网站首页
  • 歌曲排行榜
  • 歌曲播放
  • 歌曲点评
  • 歌曲搜索
  • 用户管理

1 项目设计与配置

我们接到一个项目的时候,需要了解项目的具体需求,根据需求类型划分网站功能,了解每个需求的业务流程。

本节以音乐网站为例进行介绍,整个网站的功能分为:网站首页、歌曲排行榜、歌曲播放、歌曲搜索、歌曲点评和用户管理,各个功能说明如下:

  • 网站首页

    网站首页是整个网站的主页面,主要显示网站最新的动态信息以及网站的功能导航。

    网站最新的动态信息以歌曲的动态为主,如热门下载、热门搜索和新歌推荐等;网站的功能导航是将其他页面的链接展示在首页上,方便用户访问浏览。

  • 歌曲排行榜

    歌曲排行榜按照歌曲的播放量进行排序,用户还可以根据歌曲类型进行自定义筛选。

  • 歌曲播放

    歌曲播放为用户提供在线试听功能。

  • 歌曲点评

    歌曲点评通过歌曲播放页面进入,每条点评信息包含用户名、点评内容和点评时间。

  • 歌曲搜索

    歌曲搜索根据用户提供的关键字进行歌曲或歌手的匹配查询,搜索结果以数据列表显示在网页上。

  • 用户管理

    用户管理分为用户注册、登录和用户中心。用户中心包含用户信息、用户注销和歌曲播放记录

我们根据需求对网站的开发进行设计,首先由UI设计师网页效果图,然后由前端工程师根据网页效果图实现HTML静态页面,最后由后端工程师根据HTML静态实现数据库构建和网站后台开发。音乐网站一共设计了6个网站页面。

1.1 网站首页

企业微信截图_20230508155307.png

从网站首页看到,整个页面可以划分7个功能区,说明如下:

(1)歌曲搜索:位于网页顶端,由文本输入框和搜索按钮组成,文本输入框下面是热门搜索的歌曲。

(2)轮播图:以歌曲的封面进行轮播,单机图片可进入歌曲播放。

(3)音乐分类:位于轮播图的左边,按照歌曲的类型进行分类,单击某个分类即可查看该分类的歌曲排行榜。

(4)热门歌曲:位于轮播图的右边,按照歌曲播放量进行排序。

(5)新歌推荐:按照歌曲的发行时间进行排序。

(6)热门搜索:按照歌曲的搜索量进行排序。

(7)热门下载:按照歌曲的下载量进行排序。

1.2 歌曲排行

企业微信截图_20230508163116.png

整个页面分为两部分:歌曲分类和歌曲列表,说明如下:

(1)歌曲分类:根据歌曲类型进行歌曲筛选,筛选后的歌曲显示在歌曲列表中。

(2)歌曲列表:歌曲信息以播放次数进行降序显示,若对歌曲进行类型筛选,则对同一类型的歌曲以播放次数进行降序显示。

1.3 歌曲播放

企业微信截图_20230508164508.png

整个页面共有4大功能,各个功能说明如下:

(1)歌曲信息:包括歌名、歌手、所属专辑、语种、流派、发行时间、歌词、歌曲封面和歌曲文件等

(2)下载与歌曲点评:实现歌曲下载,每下载一次就会对歌曲的下载次数累加一次。单击“歌曲点评”可进入歌曲点评页面。

(3)播放列表:记录当前用户的试听记录,每播放一次就会对歌曲的播放次数累加一次。

(4)相关歌曲:根据当前歌曲的类型筛选出同一类型的其他歌曲信息。

1.4 歌曲点评

企业微信截图_20230508171657.png

主要分为两个部分:歌曲点评和点评信息列表,两者说明如下:

(1)歌曲点评:由文本输入框和“发布”按钮组成的表单,以post的请求形式实现内容提交。

(2)点评信息列表:列出当前歌曲的点评信息,并且点评信息设置了分页功能。

1.5 歌曲搜索

企业微信截图_20230508191028.png

根据文本框的内容对歌名或歌手进行匹配查询,然后将搜索结果返回到搜索页面上,说明如下:

(1)若文本框的内容为空,则默认返回前50首最新发行的歌曲。

(2)若文本框的内容不为空,则从全部歌曲的歌名或歌手进行匹配查询,查询结果以歌曲的发行时间进行排序。

(3)每次搜索时,若文本框的内容与歌名完全匹配,则将这些歌曲的搜索次数累加一次。

1.6 用户中心

企业微信截图_20230508192059.png

需要用户登录后才能访问,该页面主要分为用户基本信息和歌曲播放记录,说明如下:

(1)用户基本信息:显示当前用户的用户头像和用户名,并设有用户注销链接。

(2)歌曲播放记录:播放记录来自于歌曲播放页面的播放列表,并对播放记录进行分页显示。

1.7 用户注册和登录

企业微信截图_20230508192549.png

由同一个页面实现两个不同的功能,注册和登录的网页表单是通过javascript脚本相互切换的。

(1)用户注册:填写用户名、手机号和用户密码,其中用户名和手机号具有唯一性,且不能为空。

(2)用户登录:根据用户注册时所填写的手机号或用户名实现用户登录。