python+Django停车场车位停车管理平台

文末获取资源,收藏关注不迷路

文章目录

  • 前言
  • 一、研究背景
  • 二、研究意义
  • 三、主要使用技术
  • 四、研究内容
  • 五、核心代码
  • 六、文章目录

前言

随着计算机信息技术的发展,越来越多的用户使用管理系统,各种信息化应用出现在停车管理中,特别是超时代停车场拥有大量的用户群,使用管理平台可以为人们的生活提供便利。另一方面,我国汽车保有量日益增加,各大城市停车难问题不断呈现。如何有效找到空闲停车位,是人们出行密切关注的问题。本文针对车位资源紧张的现状,通过搭建超时代停车场管理平台,帮助用户快速找到空闲车位,解决城市停车难问题,帮助停车管理员提高管理效率。
本文先提出了开发基于Django的超时代停车场管理平台的背景意义,然后通过功能性和非功能性分析阐述本系统的需求,然后从功能设计和数据库设计两方面进行系统的设计建模。在技术实现部分采用了Python作为开发后台的编程语言,数据库选择MySQL。最后进行了代码的编写,并说明了实现流程。最终,通过软件测试来验证超时代停车场管理平台的功能要求。

一、研究背景

随着中国经济的发展,各行业逐渐向世界前沿靠拢,并成为汽车大国,各种合资品牌,进口汽车,国产汽车得到快速发展。许多汽车逐渐走入人们的家中,特别是特大城市、发达城市汽车保有量逐渐增加,带来最大的问题就是停车难,并导致交通拥堵。这种日益严重的矛盾,迫使城市必须解决停车资源的缺稀缺和车辆需求增加的矛盾。
针对停车难的问题,推动停车管理智能化要求,要求地区对停车问题进行统一调配,建立停车数据库,并实现停车车位的及时更新,实现停车场管理的信息共享,帮助用户提前预留车位,提高城市停车场资源的利用率,减少停车难带来的交通拥堵问题,实现智能化预约的理念。
目前,管理系统普遍存在于人们的生活中,各种管理系统应用层出不穷,通过管理系统实现生活中各种信息的查询、管理、预约等服务。特别是超时代停车场管理平台的使用,方便了用户停车,通过管理系统,可以查询停车情况,搜索附近车位,解决停车的问题。

二、研究意义

在国外,由于城市化进程的发展,停车难的问题一样存在,但是由于发达国家信息技术应用较早,在解决停车问题上进行了研究和解决。日本通过停车场导引系统帮助用户快速找到车位,在导引系统中,通过显示屏显示停车场车位情况,绿色表明可以停车,并提供停车场区位指引,车主可以快速的到达停车场,完成停车,减少了违规乱停的现象,但是导引系统也存在一定的问题,比如驾驶员离开停车场后显示屏无法及时更新车位,导致车位利用率有限。通过网络的发展,将网络技术应用在智能停车管理系统中,在停车场布置传感器,结合停车出入口光电传感,将数据上传到服务器,通过数据库存储车位的状态,使用停车管理系统查询车位情况,提高整个停车场的利用率。而智能手机的发展也极大的帮助停车问题,一些国家将大屏显示器转换为手机屏幕,帮助车主通过自己手机可以快速的查询空闲停车位。在意大利开发了一款智能停车APP,车主可以将个人的停车位通过APP进行出售,其他车主查询空闲的车位并在线竞拍,停车APP的推出,为市民带来了便利,解决了停车问题。
在我国,因为信息技术发展较晚,又加上近两年汽车保有量迅速提升,造成停车难的问题突出明显。近年来各城市也纷纷使用停车诱导系统、停车预约系统、车位管理系统、车位预约系统解决停车问题。通过多渠道解决车位管理,帮助用户快速找到停车场。随着大数据的发展,停车难的问题逐渐得到缓解,在日常停车中,多种管理系统和停车方案可以合理的解决停车问题。但是在节假日高峰时期,仍然存在停车难,比如10.1节假日高峰期,各旅游景点、热门区域无法承受过多的车辆,造成停车困难。
当前市面上也存在许多成熟的案例,如丁丁停车、悠车位帮助用户提前预定并结合物联网技术,形成一套完整的app,实现车位的共享和预约,大大方便用户的使用。可见,为了解决城市停车难的问题,只有使用信息化的技术手段,才能有效的解决并缓解城市交通压力。

三、主要使用技术

环境需要
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+Django停车场车位停车管理平台_第1张图片
python+Django停车场车位停车管理平台_第2张图片
python+Django停车场车位停车管理平台_第3张图片
python+Django停车场车位停车管理平台_第4张图片
python+Django停车场车位停车管理平台_第5张图片
python+Django停车场车位停车管理平台_第6张图片
python+Django停车场车位停车管理平台_第7张图片

python+Django停车场车位停车管理平台_第8张图片

五、核心代码

# 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

你可能感兴趣的:(python,django,数据库)