0 前言
Hi,大家好,今天给大家介绍一个python管理系统,大家可以用于自己的课设或毕设!
今天要分享的是:毕业设计 基于Django的音乐网站系统
项目分享:
https://gitee.com/sinonfin/system-sharing
1 设计说明
在虚拟环境下输入命令“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所示。
部分相关源码
# _*_ coding: utf-8 _*_
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField, FileField, TextAreaField
from wtforms.validators import DataRequired, Email, Regexp, EqualTo, ValidationError
from app.models import User
class RegisterForm(FlaskForm):
"""
用户注册表单
"""
username = StringField(
validators=[
DataRequired("用户名不能为空!"),
],
description="用户名",
render_kw={
"placeholder": "请输入用户名!",
}
)
email = StringField(
validators=[
DataRequired("邮箱不能为空!"),
Email("邮箱格式不正确!")
],
description="邮箱",
render_kw={
"type": "email",
"placeholder": "请输入邮箱!",
}
)
pwd = PasswordField(
validators=[
DataRequired("密码不能为空!")
],
description="密码",
render_kw={
"placeholder": "请输入密码!",
}
)
repwd = PasswordField(
validators=[
DataRequired("请输入确认密码!"),
EqualTo('pwd', message="两次密码不一致!")
],
description="确认密码",
render_kw={
"placeholder": "请输入确认密码!",
}
)
submit = SubmitField(
'注册',
render_kw={
"class": "btn btn-primary",
}
)
def validate_email(self, field):
"""
检测注册邮箱是否已经存在
:param field: 字段名
"""
email = field.data
user = User.query.filter_by(email=email).count()
if user == 1:
raise ValidationError("邮箱已经存在!")
class LoginForm(FlaskForm):
"""
登录功能
"""
email = StringField(
validators=[
DataRequired("邮箱不能为空!")
],
description="邮箱",
render_kw={
"type" : "email",
"placeholder": "请输入邮箱!",
}
)
pwd = PasswordField(
validators=[
DataRequired("密码不能为空!")
],
description="密码",
render_kw={
"type" : "password",
"placeholder": "请输入密码!",
}
)
submit = SubmitField(
'登录',
render_kw={
"class": "btn btn-primary",
}
)
class SuggetionForm(FlaskForm):
"""
意见建议
"""
name = StringField(
label="姓名",
validators=[
DataRequired("姓名不能为空!")
],
description="姓名",
render_kw={
"placeholder": "请输入姓名!",
"class" : "form-control"
}
)
email = StringField(
label="邮箱",
validators=[
DataRequired("邮箱不能为空!")
],
description="邮箱",
render_kw={
"type" : "email",
"placeholder": "请输入邮箱!",
"class" : "form-control"
}
)
content = TextAreaField(
label="意见建议",
validators=[
DataRequired("内容不能为空!")
],
description="意见建议",
render_kw={
"class": "form-control",
"placeholder": "请输入内容!",
"rows" : 7
}
)
submit = SubmitField(
'发送消息',
render_kw={
"class": "btn-default btn-cf-submit",
}
)
项目分享
项目分享:完整源码 + 环境配置文档 + 设计使用手册