目录
一、项目介绍
随着互联网的发展,如何更好的理财已经成为当下大多数的一个共识,作为大学生也不例外,大学生也更希望通过自己的理财方式能够更好的对自己的财务进行管理,但是大多数大学生都不知道如何更好的进行理财,为了给大学生提供一个更好的理财平台,为此我开发了本基于Django的大学生理财及记账系统网站
本基于Django的大学生理财及记账系统是根据当前大学生理财环境相关的内容实际情况开发的,在系统语言选择上我们使用的Python语言,数据库是小巧灵活的MySQL数据库,本系统的开发可以极大的提高大学生的理财和记账管理。
本基于Django的大学生理财及记账系统采用Python语言来进行开发,从角色上分为前台和后台2部分,用户功能主要是在前台,主要内容包括首页、零钱理财、工资理财、期限理财、基金理财、银行信息、网贷信息、系统公告、个人中心、后台管理等功能,后台部分主要给管理人员使用的,主要功能包括系个人中心、用户管理、银行卡管理、零钱理财管理、工资理财管理、期限理财管理、基金理财管理、银行信息管理、网贷信息管理、贷款申请管理、系统管理等内容。通过本系统基本可以满足大学生的理财和记账方面的需要。
关键词:大学生,理财及记账,MySQL,Python
二、功能模块
4.1 基于Django的大学生理财及记账系统网站功能结构设计
本基于Django的大学生理财及记账系统采用Python语言来进行开发,从角色上分为前台和后台2部分,用户功能主要是在前台,主要内容包括首页、零钱理财、工资理财、期限理财、基金理财、银行信息、网贷信息、系统公告、个人中心、后台管理等功能,后台部分主要给管理人员使用的,主要功能包括系个人中心、用户管理、银行卡管理、零钱理财管理、工资理财管理、期限理财管理、基金理财管理、银行信息管理、网贷信息管理、贷款申请管理、系统管理等内容。通过本系统基本可以满足大学生的理财和记账方面的需要。具体如下图4-1所示
2用户管理
基于Django的大学生理财及记账系统的操作人员可以管理用户的相关内容,在用户管理中输入对应的主键+创建时间+用户名+密码+真实姓名+头像+手机号+邮箱+身份证+信誉度等基本信息后点击用户管理中的[立即提交]按钮,基于Django的大学生理财及记账系统会将输入的信息通过POST的方式将数据提交给yonghu_view(视图层),然后yonghu_view通过提交的yonghu对象将数据提交给yonghuModel,然后yonghuModel将数据添加到数据库中,为了防止插入null的数据,我们对控件进行了required设置,这在一定程度上提高了数据的健壮性。 基于Django的大学生理财及记账系统用户信息添加界面如图5-13
基于Django的大学生理财及记账系统的相关人员在上一步中对用户进行了数据的添加之后还可以根据关键字使用Like语法进行相关内容分模糊查询。此外当录入的数据有误的时候还可以通过[修改]按钮对用户信息相关数据进行修改和订正,当数据因为一些原因不在需要的时候可以通过[删除]按钮删除用户信息中不需要的数据。基于Django的大学生理财及记账系统用户管理界面如图5-14所示
工资理财管理
基于Django的大学生理财及记账系统的操作人员可以管理工资理财的相关内容,在工资理财管理中输入对应的主键+创建时间+产品名称+产品类型+每月投入金额+是否自动转入+封面+投资期限+最近点击时间+点击次数等基本信息后点击工资理财管理中的[立即提交]按钮,基于Django的大学生理财及记账系统会将输入的信息通过POST的方式将数据提交给gongzilicai_view(视图层),然后gongzilicai_view通过提交的gongzilicai对象将数据提交给gongzilicaiModel,然后gongzilicaiModel将数据添加到数据库中,为了防止插入null的数据,我们对控件进行了required设置,这在一定程度上提高了数据的健壮性。 基于Django的大学生理财及记账系统工资理财信息添加界面如图5-15
三、代码介绍
注册模块相关代码
# 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")
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)
用户登录相关代码:
import { DataTypes } from 'sequelize'
import sequelize from './sequelize'
const ConfigModel = sequelize.define('ConfigModel', {
id: {
type: DataTypes.BIGINT,
primaryKey: true,
autoIncrement: true,
allowNull: false,
comment: '主键id'
},
name: {
type: DataTypes.STRING,
allowNull: false,
comment: '配置参数名称'
},
value: {
type: DataTypes.STRING,
allowNull: true,
comment: '配置参数值'
}
}, {
timestamps: false,
freezeTableName: true,
tableName: 'config'
})
export default ConfigModel
四、参考lunwen
五、相关案例