python毕业设计基于django的垃圾分类管理系统

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

一、项目介绍

随着经济的发展,人们的环保意识也越来越重视,为此很多时候人们会对垃圾进行分类,以提高垃圾回收的效率,为了让垃圾分类的管理更加的方便我们通过Python语言开发了本次的固体垃圾智能系统。
本系统从用户的角度出发,结合当前的环境而开发的,在开发语言上是使用的Python语言,在框架上我们是使用的django框架,数据库方面使用的是MySQL数据库,开发工具为IDEA。
固体垃圾智能系统根据实际情况分为前后台两部分,前台部分主要是让用户使用的,包括用户的首页 ,注册登录,垃圾信息,站点信息 ,个人中心 ,后台管理等功能;后台部分主要给管理员使用的,主要功能包括首页,个人中心,用户管理,社区管理员管理,垃圾分类管理,垃圾信息管理,站点信息管理,回收预约管理,回收订单管理,变更申请管理,新条形码管理,情况登记管理,用户反馈管理,奖惩登记管理,系统管理等功能。通过这些功能基本可以满足智能垃圾的需求。

开发意义

随着我国城市的发展和人们生活是水平的不断提高,垃圾的数量和种类也在不断的增加,这给垃圾的分类以及回收造成了一定的难度,很多时候居民不知道某种垃圾具体的分类情况,从而给回收问题造成了难度,这样不仅造成了大量可回收资源的浪费,也增加了垃圾处理的难度,在很大程度上造成了资源的浪费。目前我国的垃圾回收方式都居民将垃圾丢弃在固定的地点,然后有固定的工作人员进行处理,如果我们在居民在丢弃垃圾的时候就能够准确的对其进行分类,就可以给在垃圾处理和回收的时候提供很大的便利,这也是本系统开发的初衷。
社区垃圾分类管理系统是一个对社会资源进行合理调配和废物重复利用的系统,主的主要意义体现在一下几点:
1:它的开发可以让居民在丢弃垃圾的时候对其进行准确的分类,从而提高垃圾的处理效率和废物的重复利用;
2:减少环境污染,现在很多垃圾都含有重金属和有害的化学物质如果随意的丢弃,很可能造成环境的污染,并随着自然循环污染水源和土地最终影响到人类的健康;
3:节省土地资源,当下的垃圾处理方式一般都是以深埋为主,如果大量的垃圾被填埋会在一定的程度上造成土地资源的浪费;
4:提高居民的积极性,本系统根据用户投放的垃圾类型会给与一定的积分奖励,积分奖励可以用来兑换实物,这在一定程度上提高了居民的积极性。

二、主要使用技术

环境需要
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/项目名

三、研究内容

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
固体垃圾智能系统根据实际情况分为前后台两部分,前台部分主要是让用户使用的,包括用户的首页 ,注册登录,垃圾信息,站点信息 ,个人中心 ,后台管理等功能;后台部分主要给管理员使用的,主要功能包括首页,个人中心,用户管理,社区管理员管理,垃圾分类管理,垃圾信息管理,站点信息管理,回收预约管理,回收订单管理,变更申请管理,新条形码管理,情况登记管理,用户反馈管理,奖惩登记管理,系统管理等功能。通过这些功能基本可以满足智能垃圾的需求。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

四、核心代码

# 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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wqq6310855

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值