收藏关注不迷路
前言
基于Django的音乐交流分享平台是一个专为音乐爱好者设计的在线社区,该平台利用Django框架的强大功能,为用户提供了一个便捷、安全、富有互动性的音乐分享与交流空间。以下是对该平台的详细介绍:
基于Django的音乐交流分享平台旨在汇聚全球音乐爱好者,通过音乐分享、评论、交流等功能,促进音乐文化的传播与交流。该平台支持多种音乐格式的上传与播放,用户可以在此发布自己的音乐作品,欣赏他人的创作,并参与音乐话题的讨论。
一、项目介绍
开发语言:Python
python框架:django
软件版本:python3.7/python3.8
数据库:mysql 5.7或更高版本
数据库工具:Navicat11
开发软件:PyCharm/vs code
前端框架:vue.js
————————————————
三、功能介绍
1、用户登陆
2、用户个人信息(昵称、用户唯一ID、个性签名、头像、用户标签),个人主页展示
3、用户关注和粉丝列表功能
4、平台主页,展示音乐资讯,音乐资讯需要分类,资讯可分享至用户私信,仅管理员可以增删改资讯
5、社区交流,根据分类(如流行音乐、古典音乐)建立讨论小组(类似豆瓣小组),用户可关注小组,在小组中发帖。帖子支持点赞、收藏、多级评论,并且通知用户。帖子支持按回复数量/回复时间/发布时间排序支持转载,支持管理员设置精华帖
6、帖子发布和编辑支持富文本编辑器
7、社区用户能对帖子进行举报,举报后通知管理员审核
8、用户私信
9、帖子搜索和资讯搜索
10、经验等级,根据发帖、评论、浏览、签到等行为获得经验,根据经验多少划分等级。等级显示在用户主页和用户名之后
11、充值会员(支付宝沙箱支付就行),会员经验加速获取
后台管理
四、核心代码
部分代码:
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)
五、效果图