在虚拟环境下输入命令“python manage.py runserver”启动项目,启动成功后,访问“http://127.0.0.1:5000”进入甜橙音乐网首页,如图1所示。在该页面中用户可以浏览轮播图、热门歌手和热门歌曲。

头歌 JavaScript 头歌平台python_超链接


在导航栏中,单击“排行榜”超链接,将显示歌曲排行榜,如图2所示。单击“曲风”超链接,将显示不同语言的歌曲,如图3所示。单击“歌手”超链接,将显示所有歌手,如图4所示。

头歌 JavaScript 头歌平台python_头歌 JavaScript_02


头歌 JavaScript 头歌平台python_开发语言_03


头歌 JavaScript 头歌平台python_超链接_04


在每个页面,单击播放按钮,可以播放音乐,如图5所示。

头歌 JavaScript 头歌平台python_前端_05


单击收藏按钮,如果已经登录,则可以收藏该歌曲,如图6所示。如果没有登录,则提示登录。

头歌 JavaScript 头歌平台python_开发语言_06


在甜橙音乐网中,单击顶部的“登录”超链接,将显示登录页面,通过该页面可以实现登录功能,如图7所示;如果还没有注册,则需要先注册成为会员,注册页面如图8所示。

头歌 JavaScript 头歌平台python_头歌 JavaScript_07


本项目没有后台,但是可以通过管理员账号来管理歌曲和歌手。账号和密码如下:

账号:mr

密码:mrsoft

在甜橙音乐网中,管理员可以通过管理员账号登录网站,然后将鼠标悬浮在用户名上,则显示“后台管理”菜单,如图9所示。

头歌 JavaScript 头歌平台python_开发语言_08


单击“后台管理”超链接,进入歌手管理页面,如图10所示。

头歌 JavaScript 头歌平台python_python_09


在歌手管理页面中,单击“新增歌手”,进入新增歌手页面,如图11所示。在歌手图片栏填写歌手图片路径,如1.jpg。然后将该歌手的图片1.jpg拷贝到“OnlineMusic\app\static\images\artist\”路径下,如图12所示。

头歌 JavaScript 头歌平台python_python_10


头歌 JavaScript 头歌平台python_前端_11


单击“后台管理”超链接,进入歌手管理页面,如图13所示。单击“新增歌曲”按钮,在歌曲文件地址栏填写歌曲路径,如53.mp3。然后将该歌手的mp3文件拷贝到“OnlineMusic\app\static\images\song\”路径下,如图14所示。

头歌 JavaScript 头歌平台python_开发语言_12


头歌 JavaScript 头歌平台python_python_13


部分源码如下,其余完整详见下载。

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)                           # 所属用户