🍅选题推荐——以防找不到我们,点击上方订阅专栏✌✌
2024年计算机Java Python安卓APP微信小程序asp.net项目PHP毕业设计2000个热门选题推荐计算机毕业设计如何选题?
安装Chatgdt搜索答辩老师常提的问题-----------------重点
👇🏻文末获取源码联系👇🏻
该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功以及课程答疑与微信售后交流群、送查重系统不限次数免费查重等福利!
软件开发环境及开发工具:
开发语言:python
使用框架:Django
前端技术:JavaScript、VUE.js(2.X)、css3
开发工具:pycharm、Visual Studio Code、HbuildX
数据库:MySQL 5.7.26(版本号)
数据库管理工具:phpstudy/Navicat或者phpstudy/sqlyog
python版本:python3.0及以上
1.1研究背景
随着社会的发展,大学生的消费水平越来越高,对于理财的需求也越来越迫切。但是,由于缺乏理财知识和经验,很多大学生在理财方面存在很多问题,如不懂得如何规划自己的开支,不知道如何进行投资理财等等。此外,由于大学生的学业繁忙,很多人没有时间去记账,导致无法了解自己的财务状况。因此,设计一款方便、简单、易用的大学生理财及记账系统,能够帮助大学生更好地进行理财规划和管理,提高他们的理财能力和财务状况,具有非常重要的意义。
很多大学生没有对自己的财务进行规划,不知道自己的开支和收入情况,导致经常出现钱不够用的情况。此外,由于没有规划,也容易陷入消费陷阱,浪费钱财。
大学生缺乏理财知识,不知道如何进行投资理财,容易被各种金融诈骗所误导。此外,由于不懂得如何管理财务,也容易陷入债务危机。
很多大学生没有记账习惯,无法了解自己的财务状况,也无法对自己的开支进行有效的控制,容易出现财务问题。
为了解决大学生的理财问题,我们设计了一款方便、简单、易用的大学生理财及记账系统。
2.4 Python
Python语言是荷兰guido van rossum在1991年推出的一种免费开源语言,其开发的程序可读性非常强,非常适合初学者学习,功能强大并且易于开发,可扩展性很强,代码库也很丰富,它的应用范围也非常广,例如web应用开发、科学计算、人工智能等多个领域。自2005年开始,Python上涨的势头就非常明显,如今已经进入到3.0时代,近来在tiobe公布的2022年1月排行榜中,Python取得了第一的成绩,这说明Python语言在蓬勃发展并且其发展前景非常好。对于物联网专业的中职学生来说,学习Python语言不仅可以提高他们的专业水平和逻辑性,还可以提高他们的就业竞争力。
2.5 Django框架
Django用Python编写,属于开源Web应用程序框架。采用(模型M、视图V和模板t)的框架模式。该框架以比利时吉普赛爵士吉他手詹戈•莱因哈特命名。该架构的主要组件如下:
1.用于创建模型的对象关系映射。
2.最终目标是为用户设计一个完美的管理界面。
3.是目前最流行的URL设计解决方案。
4.模板语言对设计师来说是最友好的。
4.1 基于Django的大学生理财及记账系统网站功能结构设计
本基于Django的大学生理财及记账系统采用Python语言来进行开发,从角色上分为前台和后台2部分,用户功能主要是在前台,主要内容包括首页、零钱理财、工资理财、期限理财、基金理财、银行信息、网贷信息、系统公告、个人中心、后台管理等功能,后台部分主要给管理人员使用的,主要功能包括系个人中心、用户管理、银行卡管理、零钱理财管理、工资理财管理、期限理财管理、基金理财管理、银行信息管理、网贷信息管理、贷款申请管理、系统管理等内容。通过本系统基本可以满足大学生的理财和记账方面的需要。具体如下图4-1所示

4.2 基于Django的大学生理财及记账系统网站数据库设计
表 4-1 系统数据库整体信息表
本系统共包含21个表:分别是关于我们表,配置文件表,贷款申请表,工资理财评论表表,基金理财评论表表,零钱理财评论表表,期限理财评论表表,网贷信息评论表表,银行信息评论表表,工资理财表,基金理财表,零钱理财表,新闻资讯表,期限理财表,收藏表表,关于我们表,用户表表,网贷信息表,银行卡表,银行信息表,用户表等信息表
| 表名 | 说明 | 功能 |
| aboutus | 关于我们 | 主要用来存放关于我们的相关内容 |
| config | 配置文件 | 主要用来存放配置文件的相关内容 |
| daikuanshenqing | 贷款申请 | 主要用来存放贷款申请的相关内容 |
| discussgongzilicai | 工资理财评论表 | 主要用来存放工资理财评论表的相关内容 |
| discussjijinlicai | 基金理财评论表 | 主要用来存放基金理财评论表的相关内容 |
| discusslingqianlicai | 零钱理财评论表 | 主要用来存放零钱理财评论表的相关内容 |
| discussqixianlicai | 期限理财评论表 | 主要用来存放期限理财评论表的相关内容 |
| discusswangdaixinxi | 网贷信息评论表 | 主要用来存放网贷信息评论表的相关内容 |
| discussyinxingxinxi | 银行信息评论表 | 主要用来存放银行信息评论表的相关内容 |
| gongzilicai | 工资理财 | 主要用来存放工资理财的相关内容 |
| jijinlicai | 基金理财 | 主要用来存放基金理财的相关内容 |
| lingqianlicai | 零钱理财 | 主要用来存放零钱理财的相关内容 |
| news | 新闻资讯 | 主要用来存放新闻资讯的相关内容 |
| qixianlicai | 期限理财 | 主要用来存放期限理财的相关内容 |
| storeup | 收藏表 | 主要用来存放收藏表的相关内容 |
| systemintro | 关于我们 | 主要用来存放关于我们的相关内容 |
| users | 用户表 | 主要用来存放用户表的相关内容 |
| wangdaixinxi | 网贷信息 | 主要用来存放网贷信息的相关内容 |
| yinxingka | 银行卡 | 主要用来存放银行卡的相关内容 |
| yinxingxinxi | 银行信息 | 主要用来存放银行信息的相关内容 |
| yonghu | 用户 | 主要用来存放用户的相关内容 |
表 4-2 关于我们信息(aboutus)表
| 编号 | 数据字段名 | 数据类型 | 允许空 | 是否主键 | 说明 |
| NO.1 | id | int | NO | PK | 主键 |
| NO.2 | addtime | timestamp | NO | NO | 创建时间 |
| NO.3 | title | varchar(200) | NO | NO | 标题 |
| NO.4 | subtitle | varchar(200) | NO | NO | 副标题 |
| NO.5 | content | longtext | NO | NO | 内容 |
| NO.6 | picture1 | longtext | NO | NO | 图片1 |
| NO.7 | picture2 | longtext | NO | NO | 图片2 |
| NO.8 | picture3 | longtext | NO | NO | 图片3 |
表 4-3 配置文件信息(config)表
| 编号 | 数据字段名 | 数据类型 | 允许空 | 是否主键 | 说明 |
| NO.1 | id | int | NO | PK | 主键 |
| NO.2 | name | varchar(100) | NO | NO | 配置参数名称 |
| NO.3 | value | varchar(100) | NO | NO | 配置参数值 |
表 4-4 贷款申请信息(daikuanshenqing)表
| 编号 | 数据字段名 | 数据类型 | 允许空 | 是否主键 | 说明 |
| NO.1 | id | int | NO | PK | 主键 |
| NO.2 | addtime | timestamp | NO | NO | 创建时间 |
| NO.3 | daikuanbianhao | varchar(200) | NO | NO | 贷款编号 |
| NO.4 | daikuanmingcheng | varchar(200) | NO | NO | 贷款名称 |
| NO.5 | yinxingmingcheng | varchar(200) | NO | NO | 银行名称 |
| NO.6 | daikuanjine | varchar(200) | NO | NO | 贷款金额 |
| NO.7 | haikuanfangshi | varchar(200) | NO | NO | 还款方式 |
| NO.8 | daikuanshizhang | varchar(200) | NO | NO | 贷款时长 |
| NO.9 | nianlilv | varchar(200) | NO | NO | 年利率 |
| NO.10 | yonghuming | varchar(200) | NO | NO | 用户名 |
| NO.11 | zhenshixingming | varchar(200) | NO | NO | 真实姓名 |
| NO.12 | shoujihao | varchar(200) | NO | NO | 手机号 |
| NO.13 | shenqingshijian | datetime | NO | NO | 申请时间 |
| NO.14 | sfsh | varchar(200) | NO | NO | 是否审核 |
| NO.15 | shhf | longtext | NO | NO | 审核回复 |
5.1.1 系统首页
本系统是一个专门针对基于Django的大学生理财及记账系统的网站,为了满足用户的操作习惯,我们在页面设计的时候大量的参考了一些成功网站的布局。在首页布局的时候我们采用的是三段式的布局,在头部是网站的导航菜单,方便用户对各类功能进行点击和操作,中间部分是一些理财相关的信息,基于Django的大学生理财及记账系统网站首页部分具体效果如图5-1所示




关键代码
# 用户相关,登录注册退出,用户增删改查
from django.http import JsonResponse
from .users_model import users
from util.codes import *
from util.auth import Auth
import util.message as mes
from dj2.settings import host,port,user,passwd,dbName,hasHadoop
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)
🍅源码获取:大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻



325

被折叠的 条评论
为什么被折叠?



