文末获取资源,收藏关注不迷路
前言
随着在我国国民水平的提高,低碳环保的概念也深入人心,越来越多的人选择了绿色环保的出现方式,共享电动车更是为绿色出行提供了一个有利的保障。通过本人的调查研究发现,很多大学的共享电动车的管理还是用手工传统的方式在进行,为了能够让大学共享电动车的管理跟上时代的步伐,我开发了本系统,希望在自己毕业后留给母校点点回忆。
本系统从用户的角度出发,结合当前共享电动车的环境而开发的,在开发语言上是使用的Java语言,在框架上我们是使用的Python框架,数据库方面使用的是MySQL数据库,开发工具为IDEA。
基于Python的共享电动车系统根据实际情况分为前后台两部分,前台部分主要是让用户租赁电动车使用的,主要包括停车点查询,共享电动车的查看和租赁,系统简介,站内新闻,留言反馈,在线客服对个人注册信息进行管理等功能;后台部分功能主要包括用户信息管理,操作员管理,用户充值管理,电动车的停车点管理,电动车类型和电动车信息的管理,租赁归还信息管理,电动车维修信息管理,系统简介的设置,站内新闻管理,在线留言,系统管理等功能。通过这些功能基本可以满足共享电动车管理的需求。
一、研究背景
随着全球经济的发展,人们基本家家户户都有了自己的私家车,但是私家车一方面会造成道路的拥堵,另一方面对环境污染比较严重,为了能够环保出行很多有志人士提出了共享电动车的概念[1]。
我国是一个自行车大国,在建国初期,我们自行车就是主要的交通工具。自行车拥有零排放,无污染,无噪音,不拥堵等特点。并且自行车在使用上比较灵活,而且不会造成道路的拥堵。通过共享电动车可以实现城市内部一些短途的出行,并且不需要购买电动车,在使用的时候直接租赁即可,在使用完成之后进行归还,结算租借达到出行的目的[2]。为了能够让等多的人享受到共享电动车的便利我们开发了本次的基于Python的共享电动车系统。
二、研究意义
共享电动车是新时代的产物,尤其是当下信息科技高速发展的情况下更是为共享电动车提供了很好的信息基础。通过共享电动车系统一方面可以方便人们的短途出行,当人们需要出行的时候可以直接通过共享电动车出行,这样就不需要在花费大量的资金去购买电动车了只需要在使用的时候支付一部分使用费用即可。另一方面这种出行方式是比较环保的,符合当前社会提倡环保的大环境。综合来说本系统不仅解决了人们短途出行的问题,还在一定程度上达到了环保的目的[3]。
三、主要使用技术
环境需要
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/项目名
四、研究内容
基于Python的共享电动车系统根据实际情况分为前后台两部分,前台部分主要是让用户租赁电动车使用的,主要包括停车点查询,共享电动车的查看和租赁,系统简介,站内新闻,留言反馈,在线客服对个人注册信息进行管理等功能;后台部分功能主要包括用户信息管理,操作员管理,用户充值管理,电动车的停车点管理,电动车类型和电动车信息的管理,租赁归还信息管理,电动车维修信息管理,系统简介的设置,站内新闻管理,在线留言,系统管理等功能。通过这些功能基本可以满足共享电动车管理的需求。
五、核心代码
# 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