在虚拟环境下输入命令“python manage.py runserver”启动项目,启动成功后,访问“http://127.0.0.1:5000”进入甜橙音乐网首页,如图1所示。在该页面中用户可以浏览轮播图、热门歌手和热门歌曲。
在导航栏中,单击“排行榜”超链接,将显示歌曲排行榜,如图2所示。单击“曲风”超链接,将显示不同语言的歌曲,如图3所示。单击“歌手”超链接,将显示所有歌手,如图4所示。
在每个页面,单击播放按钮,可以播放音乐,如图5所示。
单击收藏按钮,如果已经登录,则可以收藏该歌曲,如图6所示。如果没有登录,则提示登录。
在甜橙音乐网中,单击顶部的“登录”超链接,将显示登录页面,通过该页面可以实现登录功能,如图7所示;如果还没有注册,则需要先注册成为会员,注册页面如图8所示。
本项目没有后台,但是可以通过管理员账号来管理歌曲和歌手。账号和密码如下:
账号:mr
密码:mrsoft
在甜橙音乐网中,管理员可以通过管理员账号登录网站,然后将鼠标悬浮在用户名上,则显示“后台管理”菜单,如图9所示。
单击“后台管理”超链接,进入歌手管理页面,如图10所示。
在歌手管理页面中,单击“新增歌手”,进入新增歌手页面,如图11所示。在歌手图片栏填写歌手图片路径,如1.jpg。然后将该歌手的图片1.jpg拷贝到“OnlineMusic\app\static\images\artist\”路径下,如图12所示。
单击“后台管理”超链接,进入歌手管理页面,如图13所示。单击“新增歌曲”按钮,在歌曲文件地址栏填写歌曲路径,如53.mp3。然后将该歌手的mp3文件拷贝到“OnlineMusic\app\static\images\song\”路径下,如图14所示。
部分源码如下,其余完整详见下载。
from . import db # 用户表 class User(db.Model): __tablename__ = "user" id = db.Column(db.Integer, primary_key=True) # 编号 username = db.Column(db.String(100)) # 用户名 pwd = db.Column(db.String(100)) # 密码 flag = db.Column(db.Boolean,default=0) # 用户标识,0:普通用户 1:管理员 def __repr__(self): return '<User %r>' % self.name def check_pwd(self, pwd): """ 检测密码是否正确 :param pwd: 密码 :return: 返回布尔值 """ from werkzeug.security import check_password_hash return check_password_hash(self.pwd, pwd) # 歌手表 class Artist(db.Model): __tablename__ = 'artist' id = db.Column(db.Integer, primary_key=True) # 编号 artistName = db.Column(db.String(100)) # 歌手名 style = db.Column(db.Integer) # 歌手类型 imgURL = db.Column(db.String(100)) # 头像 isHot = db.Column(db.Boolean,default=0) # 是否热门 # 歌曲表 class Song(db.Model): __tablename__ = 'song' id = db.Column(db.Integer, primary_key=True) # 编号 songName = db.Column(db.String(100)) # 歌曲名称 singer = db.Column(db.String(100)) # 歌手名称 fileURL = db.Column(db.String(100)) # 歌曲图片 hits = db.Column(db.Integer,default=0) # 点击量 style = db.Column(db.Integer) # 歌曲类型 0:全部 1:华语 2:欧美 3:日语 4:韩语 5 其他 collect = db.relationship('Collect', backref='song') # 收藏外键关系关联 # 歌曲收藏 class Collect(db.Model): __tablename__ = "collect" id = db.Column(db.Integer, primary_key=True) # 编号 song_id = db.Column(db.Integer, db.ForeignKey('song.id')) # 所属歌曲 user_id = db.Column(db.Integer) # 所属用户 ————————————————