赞
踩
文末获取资源,收藏关注不迷路
本个性化音乐推荐系统是针对目前个性化音乐推荐的实际需求,从实际工作出发,对过去的个性化音乐推荐系统存在的问题进行分析,完善歌手的使用体会。采用计算机系统来管理信息,取代人工管理模式,查询便利,信息准确率高,节省了开支,提高了工作的效率。本系统结合计算机系统的结构、概念、模型、原理、方法,在计算机各种优势的情况下,采用python语言,结合django框架与Vue框架以及MYSQL数据库设计并实现的。本个性化音乐推荐系统主要包括用户管理、歌手管理、热门音乐管理、音乐评分管理、系统管理等多个模块。它帮助个性化音乐推荐实现了信息化、网络化,通过测试,实现了系统设计目标,相比传统的管理模式,本系统合理的利用了个性化音乐推荐数据资源,有效的减少了个性化音乐推荐的经济投入,大大提高了个性化音乐推荐的效率。
通过软件的需求分析已经获得了系统的基本功能需求,根据需求,将个性化音乐推荐系统功能模块主要分为管理员模块。管理员添加音乐信息、音乐分类、留言交流,音乐评分管理管理等操作
环境需要
1.运行环境:python3.7/python3.8。
2.IDE环境:pycharm+mysql5.7;
3.数据库工具:Navicat11
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
技术栈
后端:python+django
前端:vue+CSS+JavaScript+jQuery+elementui
使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
使用PyCharm 导入项目,修改配置,运行项目;
将项目中config.ini配置文件中的数据库配置改为自己的配置,然后运行;
运行成功后,在浏览器中输入:http://localhost:8080/项目名
# coding:utf-8 __author__ = "ila" from django.http import JsonResponse from .users_model import users from util.codes import * from util.auth import Auth import util.message as mes def users_login(request): if request.method in ["POST", "GET"]: msg = {'code': normal_code, "msg": mes.normal_code} req_dict = request.session.get("req_dict") if req_dict.get('role')!=None: del req_dict['role'] datas = users.getbyparams(users, users, req_dict) if not datas: msg['code'] = password_error_code msg['msg'] = mes.password_error_code return JsonResponse(msg) req_dict['id'] = datas[0].get('id') return Auth.authenticate(Auth, users, req_dict) def users_register(request): if request.method in ["POST", "GET"]: msg = {'code': normal_code, "msg": mes.normal_code} req_dict = request.session.get("req_dict") error = users.createbyreq(users, users, req_dict) if error != None: msg['code'] = crud_error_code msg['msg'] = error return JsonResponse(msg) def users_session(request): ''' ''' if request.method in ["POST", "GET"]: msg = {"code": normal_code,"msg":mes.normal_code, "data": {}} req_dict = {"id": request.session.get('params').get("id")} msg['data'] = users.getbyparams(users, users, req_dict)[0] return JsonResponse(msg) def users_logout(request): if request.method in ["POST", "GET"]: msg = { "msg": "退出成功", "code": 0 } return JsonResponse(msg) def users_page(request): ''' ''' if request.method in ["POST", "GET"]: msg = {"code": normal_code, "msg": mes.normal_code, "data": {"currPage": 1, "totalPage": 1, "total": 1, "pageSize": 10, "list": []}} req_dict = request.session.get("req_dict") tablename = request.session.get("tablename") try: __hasMessage__ = users.__hasMessage__ except: __hasMessage__ = None if __hasMessage__ and __hasMessage__ != "否": if tablename != "users": req_dict["userid"] = request.session.get("params").get("id") if tablename == "users": msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \ msg['data']['pageSize'] = users.page(users, users, req_dict) else: msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \ msg['data']['pageSize'] = [],1,0,0,10 return JsonResponse(msg) def users_info(request, id_): ''' ''' if request.method in ["POST", "GET"]: msg = {"code": normal_code, "msg": mes.normal_code, "data": {}} data = users.getbyid(users, users, int(id_)) if len(data) > 0: msg['data'] = data[0] # 浏览点击次数 try: __browseClick__ = users.__browseClick__ except: __browseClick__ = None if __browseClick__ and "clicknum" in users.getallcolumn(users, users): click_dict = {"id": int(id_), "clicknum": str(int(data[0].get("clicknum", 0)) + 1)} ret = users.updatebyparams(users, users, click_dict) if ret != None: msg['code'] = crud_error_code msg['msg'] = ret return JsonResponse(msg) def users_save(request): ''' ''' if request.method in ["POST", "GET"]: msg = {"code": normal_code, "msg": mes.normal_code, "data": {}} req_dict = request.session.get("req_dict") req_dict['role'] = '管理员' error = users.createbyreq(users, users, req_dict) if error != None: msg['code'] = crud_error_code msg['msg'] = error return JsonResponse(msg) def users_update(request): ''' ''' if request.method in ["POST", "GET"]: msg = {"code": normal_code, "msg": mes.normal_code, "data": {}} req_dict = request.session.get("req_dict") if req_dict.get("mima") and req_dict.get("password"): if "mima" not in users.getallcolumn(users,users): del req_dict["mima"] if "password" not in users.getallcolumn(users,users): del req_dict["password"] try: del req_dict["clicknum"] except: pass error = users.updatebyparams(users, users, req_dict) if error != None: msg['code'] = crud_error_code msg['msg'] = error return JsonResponse(msg) def users_delete(request): ''' ''' if request.method in ["POST", "GET"]: msg = {"code": normal_code, "msg": mes.normal_code, "data": {}} req_dict = request.session.get("req_dict") error = users.deletes(users, users, req_dict.get("ids") ) if error != None: msg['code'] = crud_error_code msg['msg'] = error return JsonResponse(msg)
1系统概述 1
1.1 研究背景 1
1.2研究目的 1
1.3系统设计思想 1
2相关技术 3
2.1 MYSQL数据库 3
2.2 B/S结构 3
2.3 Djangot框架简介 4
2.4 VUE框架 4
3系统分析 5
3.1可行性分析 5
3.1.1技术可行性 5
3.1.2经济可行性 5
3.1.3操作可行性 5
3.2系统性能分析 6
3.2.1 系统安全性 6
3.2.2 数据完整性 6
3.3系统界面分析 6
3.4系统流程和逻辑 8
4系统概要设计 9
4.1概述 9
4.2系统结构 10
4.3.数据库设计 11
4.3.1数据库实体 11
4.3.2数据库设计表 13
5系统详细实现 17
5.1 管理员模块的实现 17
5.2用户模块的实现 19
6系统测试 21
6.1概念和意义 21
6.2特性 22
6.3重要性 22
6.4测试方法 23
6.5 功能测试 23
6.6可用性测试 24
6.7性能测试 24
6.8测试分析 24
6.9测试结果分析 25
结论 25
致谢语 26
参考文献 26
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。