基于Python仓库管理系统的设计与实现django框架

news2024/10/2 2:52:45

摘 要

随着信息化时代的到来,系统管理都趋向于智能化、系统化,仓库管理系统也不例外,但目前国内的有些公司仍然都使用人工管理,公司规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代的变化,而仓库管理系统能很好地解决这一问题,轻松应对公司平时的工作,既能提高人力物力财力,又能提高工作的效率,取代人工管理是必然趋势。

本仓库管理系统以Django作为框架,Python语言,B/S模式以及MySql作为后台运行的数据库。本系统主要包括以下功能模块:公告信息、仓管员、采购员、财务员、商品分类、供应商、仓管理库、仓库信息、商品信息、采购订单、商品入库 、出库账单等模块。

本文着重阐述了仓库管理系统的分析、设计与实现,首先介绍开发系统和环境配置、数据库的设计,接着说明功能模块的详细实现,最后进行了总结。

关键词:仓库管理系统; Django框架;MySql数据库;Python语言


Abstract

With the advent of the information age, the system management tends to be intelligent and systematic, and the warehouse management system is no exception. However, at present, some domestic companies still use manual management. The scale of the company is becoming larger and larger, and the amount of information is becoming larger and larger. It is obvious that manual management can no longer cope with the changes of the times, and the warehouse management system can solve this problem well and easily deal with the company's usual work, It can not only improve human, material and financial resources, but also improve work efficiency. It is an inevitable trend to replace manual management.

The warehouse management system takes Django as the framework, python language, B / S mode and MySQL as the database running in the background. The system mainly includes the following functional modules: announcement information, warehouse keeper, purchaser, treasurer, commodity classification, supplier, warehouse management library, warehouse information, commodity information, purchase order, commodity warehousing, outbound bill and other modules.

This paper focuses on the analysis, design and implementation of warehouse management system. Firstly, it introduces the development system, environment configuration and database design, then explains the detailed implementation of functional modules, and finally summarizes it.

Key words: warehouse management system; Django framework; Mysql database; Python language


目 录

Abstract I

第一章 绪论 2

1.1  研究背景 3

1.2  仓库管理的现状 4

1.3  系统实现的功能 5

1.4  仓库管理信息系统的特点

1.5  本文的组织结构 7

第二章 开发技术与环境配置 8

2.1  Python简介 9

2.2  Django框架介绍 10

2.3  MySQL环境配置 11

2.4  mysql数据库介绍 12

2.5  B/S架构 13

第三章 系统分析与设计

3.1 可行性分析

3.1.1 技术可行性

3.1.2 操作可行性

3.1.3经济可行性

3.2  需求分析

3.3  总体设计 20

3.4  数据库设计与实现

3.4.1  数据库概念结构设计

3.4.2 数据库具体设计

第四章  系统功能的具体实现

4.1  采购员功能模块

4.2  管理员功能模块

4.3  仓管员功能模块

4.4  财务员功能模块

第五章 系统测试

 

参考文献

 

第一章 绪论

1.1  研究背景

科学技术日新月异的如今,计算机在生活各个领域都占有重要的作用,尤其在信息管理方面,在这样的大背景下,学习计算机知识不仅仅是为了掌握一种技能,更重要的是能够让它真正地使用到实践中去,以创新的视角去不断方便人们的生活,推动对新知识的学习,培养自学能力,锻炼动手实践的本领。以前的仓库管理,也应该摆脱人工管理的模式,使用计算机技术来进行信息管理工作。所以本次系统设计的仓库管理结合了文字、图像,并能实现公告信息、仓管员、采购员、财务员、商品分类、供应商、仓管理库、仓库信息、商品信息、采购订单、商品入库 、出库账单等功能,这也是一般仓库管理系统的重要的要素。仓库管理经过几年的实践和总结正在往更深入的方向发展。由此,人们要改善系统功能迫在眉睫。随着科学技术的飞速发展,仓库管理系统也要不断完善其工作流程的繁杂性、多样化、管理复杂、设备维护繁琐等存在的问题。所以要通过计算机胜任仓库管理的工作,使仓库管理系统更加准确、方便及快捷。

因此,开发出一套高效率、低差错的仓库管理信息管理系统是十分必要。本系统主要目的是全面实现仓库管理系统数字化,管理员对用户以及所有信息能够全部掌握,而用户能够对仓库管理系统能够有一个直观的了解。

1.2  仓库管理的现状

现如今,部分公司是没有提供仓库管理的服务,就是公司尽管实行了,但是依靠传统模式进行的管理力量远远不够,所以有很多公司的仓库管理工作只停留在传统的模式管理服务。同时,很多公司本身资金是有限再加上也缺少专业水平的工作人员,所以仓库管理的管理手段较为落后,也就很难提高工作量,同时也就不能很好的为用户提供更为完善的服务。以前仓库管理都是通过手动来进行管理记录及操作,不但麻烦琐碎,还经常出现错误,给广大用户带来很不便,同时也需要大量的人力、物力和财力,极大的浪费了公司的资源。随着服务行业的快速发展,人们慢慢地来希望仓库管理系统能够提供更为合理及完善的平台服务。现在,好的仓库管理也成为广大用户们选择仓库管理系统的关键。

1.3  系统实现的功能

本次设计任务是要设计一个仓库管理系统,通过这个系统能够满足用户在线查看商品信息功能。系统的主要功能包括:公告信息、仓管员、采购员、财务员、商品分类、供应商、仓管理库、仓库信息、商品信息、采购订单、商品入库、出库账单等功能。

管理员可以根据系统给定的账号进行登录,登录后可以进入仓库管理系统对仓库管理所有模块进行管理。包括查看和修改自己的个人信息以及登录密码。

该系统为每一个用户(仓管员、采购员、财务员)都分配了一个用户账号,用户通过账号的登录可以在系统中查看仓库信息、商品信息等信息,及对个人信息进行修改等功能,而用户也可以发布权限范围内信息以及个人信息修改。

1.4  仓库管理信息系统的特点

本系统提供给管理员对公告信息、仓管员、采购员、财务员、商品分类、供应商、仓管理库、仓库信息、商品信息、采购订单、商品入库、出库账单等诸多功能进行管理。本系统对于用户输入的任何信息都进行了一定的验证,为管理员操作提高了效率,也使其数据安全性得到了保障。

1.5  本文的组织结构

本文的组织结构如下:

1、绪论。综述了本文的研究背景,分析了仓库管理系统的结构;更好的从用户的角度出发,发现仓库管理中的不足,同时要指出本次系统中的特色。

 2、对系统主要的使用技术,开发环境、环境配置的介绍。介绍了本次开发所用的系统开发环境Pycharm,还介绍了Django框架技术和MySql环境配置。

3、系统的设计与实现。介绍了开发仓库管理信息系统的思路并进行了需求分析,在需求分析的基础上进行了总体设计、详细设计以及数据库等相关方面介绍;该部分是全文的主旨。

4、用户功能模块具体实现。对开发中一些主要具体功能的实现进行描述。涉及到数据库、页面参数传递等相关知识。

5、总结与展望。对整个论文及设计过程进行总结,指出系统设计过程的心得以及设计中存在的不足;后期还有待完善的地方等。


第二章 开发技术与环境配置

以Python语言,利用了当前先进的Django框架技术,以Pycharm为系统开发工具,MySQL为后台数据库,开发的一个仓库管理系统。

2.1  Python简介

Python 属于一个高层次的脚本语言,以解释性,编译性,互动性和面向对象相结合。在设计上相比其他语言,它更具有特色语法结构,很强的可读性。

 2.2  Django框架介绍

Django是一个开放源代码的Web应用框架,由Python写成。采用了MVT的框架模式,即模型M,视图V和模板T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。

2.3  MySQL环境配置

(1)本系统的数据使用的是MySQL,所以要将MySQL安装到指定目录,如果下载的是非安装的MySQL压缩包,直接解压到指定目录就可以了。然后点击C:\Program Files\MySQL\bin\winMySQLadmin.exe这个文件其中C:\Program Files\MySQL是MySQL安装目录。输入winMySQLadmin的初始用户、密码(注:这不是MySQL里的用户、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动MySQL服务。

(2)修改MySQL数据库的root密码。用cmd进入命令行模式输入如下命令:

cd C:\Program Files\MySQL\bin

MySQLadmin -u root -p password 123

回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时MySQL 中账号 root 的密码被改为 123 安装完毕。

2.4  mysql数据库介绍 

利用MYSQL的数据独立性、安全性等特点,在软件项目中对数据进行操作,可以保证数据准确无误,并降低了程序员的应用开发时间。

MYSQL的特点是支持多线程,能方便的对系统资源充分利用,有效提高速度,还提供多种方式途径来对数据库进行连接;MYSQL的功能相对弱小、规模也小,但本系统要求不高,MYSQL完全可以满足本网站使用。

利用MYSQL建立系统数据库,不仅有利于数据处理业务的早期整合,还能利于发展后两种数据扩展的操作。

2.5  B/S架构 

当向其他用户发送请求的功能时应用B/S模式具有独一无二的优点:用户请求通过网络向其他Web服务器发送时只需要通过浏览器就可以实现该功能。该功能的好处之一就是有效简化了客户端,大部分开发的软件只需要用浏览器即可,客户端的正常运行则通过这些浏览器来实现,而服务器则负责执行数据的存储和读取等其他的多功能工作。

B / S架构,主要有表示逻辑层,控制逻辑层,数据层这三层。表示逻辑层:服务请求这一功能主要是逻辑层的,Web服务器准备好后,服务请求最先被发送。等到最先发送的请求被服务器接收到后,然后将接受到的请求信息在web服务器上进行识别,识别这一操作是由服务器执行操作的,只要经过服务器的识别请求操作之后再将接收到的信息返回给客户端,浏览器就能收到的请求的信息。控制逻辑层:用户的请求是由将控制逻辑层接收,相应程序和数据库连接是接收用户数据的请求的首要条件,然后处理请求信息数据,请求数据经过处理后返回给Web服务器的就是最终处理完成的结果,最后返回给客户端的最终结果再次通过Web服务器。数据层:服务器从Web服务器接收请求是数据层主要任务,但还包括执行数据库查询、修改、删除操作,最后数据库操作结果将返回网络服务器。表示逻辑层,控制逻辑层和数据层三层之间的关系具有独立性,但三层之间又具有藕断丝连的相互关联的特性。

图2-1  B/S模式三层结构图

第三章 系统分析与设计

3.1 可行性分析

一个完整的系统,可行性分析是必须要有的,因为他关系到系统生存问题,对开发的意义进行分析,能否通过本网站来补充线下仓库管理模式中的缺限,去解决其中的不足等,通过对本网站,不仅能使工作量不断地减少,还能使工作和管理的效率更加高。所以开发该网站能实现更大的意义和价值, 网站完成后,能否达到预期效果就要通过可行性分析,分析之后,决定此系统是否开发。该仓库管理系统的开发设计中,对技术、经济、操作方面进行了可行性分析; 

3.1.1 技术可行性

本系统开发选择Python语言,它被研究的目的就是在于能够为网页创建等可以看到的信息。随着移动互联网技术的不断发展和创新,Python俨然已成为下一代互联网的Web标准。所以后台设计选择使用mysql数据库主要用来的建立和维护信息。对于前台开发要求应具备功能完善、易于操作等优点,后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。

3.1.2 操作可行性

现在随着科技的飞速发展,计算机早已经进入了人们的日常生活中,人们的工作环境也不像以前有那么多的要求,不需要员工一定要到公司办公,有的工作在家也可以完成。这使得人们的工作效益有了很大的提高。操作的多样性也变高了。因此,管理的计算机化,智能化是社会发展而带来的必然趋势,各种智能的软件层出不穷,不同的软件能完成用户不同的需求,这不仅提高了工作效率还能完成一些客户特定的一些需求。本系统不仅界面简洁明了还采用可视化界面,用户只要用鼠标和键盘就可以完成对相关信息的修改,删除,添加等操作。因为这个系统的操作十分简单,方便上手,对于第一次使用系统的人,只需要很少的时间就可以上手操作。由此可见,本系统在操作上是可行的。

3.1.3经济可行性

基于Django的仓库管理系统,该网站软件开发仅需要一台普通的计算机便可完成实现开发,其成本很低。另外,作为毕业设计作品来讲,开发成本基本上可以忽略不计,且该系统软件的投入使用,可以实现更加快速高效的仓库管理,同时还能实现对管理资源的有效节约,该仓库管理系统在经济上完全可行。

3.2  需求分析

利用Python、Pycharm和mysql数据库等知识点,结合相关设计模式、以及软件工程的相关知识,设计一个仓库管理系统,来进行记录用户的信息,以及系统信息的增删改查的功能,根据实现需求,系统需完成这些基本功能:

(1)系统合理显示仓库信息界面、商品信息界面、采购订单界面等界面。

(2)管理员、仓管员、采购员、财务员所有的信息都保存与数据库中。

(3)对仓库管理信息能够进行查询、修改、删除、添加等操作。

3.3  总体设计

根据仓库管理系统的功能需求,进行系统设计。

仓管员功能:仓管员进入系统可以实现页、个人中心、公告信息管理、仓库信息管理、商品信息管理、采购订单管理、商品入库管理 、出库账单管理等进行操作;

后台主要是管理员,管理员功能包括首首页、个人中心、公告信息管理、仓管员管理、采购员管理、财务员管理、商品分类管理、供应商管理、仓库分类管理、仓库信息管理、商品信息管理、采购订单管理、商品入库管理 、出库账单管理等;

系统对这些功能进行整合,产生的功能结构图如下:

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/7581.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Django 中间件

文章目录Django中间件默认中间件源码分析自定义中间件process_request(掌握)process_response(掌握)process_view(了解)process_template_response(了解)process_execption(了解)Django中间件 只要是涉及到全局相关的功能都可以使…

python基于PHP+MySQL的在线汽车租赁管理系统

随着时代的发展,汽车已经成为当代人们代步的主要工具。但是很多时候人们并没有购车的念头,这个时候就出现了一种新的行业,就是汽车租赁行业,这样不仅可以解决用车的需求,而且可以节省大量的购车成本,为了能够方便用户进行汽车租赁我们开发了PHP在线汽车租赁管理系统,本系统分为…

软件版本号详解

我们现在的生活离不开软件,版本号一般不会引起大家的关注,但是一旦软件出现了Bug或者其他问题,这个时候,软件的提供方都会让用户提供其软件的版本号。软件版本号长什么样呢?上面这张截图是我们常用的手机APP&#xff0…

关于git你应该知道的一些东西

前言 好好写代码,好好的反思踩过的坑,然后尽量不要给别人挖坑。这是我对自己,以及每个刚入行或即将的小伙伴的建议。一个软件工程项目,是一个系统性极强且较为复杂的工作,会有很多人参与到这个工作中来,如何…

Yarn pengding任务的原因之一:Reserved

一、背景 系统:linux centos7.4 Yarn:3.0.0-cdh6.3.2 二、现象 业务方通知,大部分使用yarn的任务都长时间处于执行中的状态。 三、问题排查 查看yarn的ui发现,memory reserved的值,已经和memory total等值了。 然…

Unity内实现无卡顿取图像推流/截屏等功能

文章目录 一、Unity提供的ScreenCapture取图像接口二、我们一个一个看API:三、Unity日本大神keijiro还提供了一种异步截图的方案,完整代码如下:一、Unity提供的ScreenCapture取图像接口 众所周知,Unity提供了ScreenCapture API用来获取引擎最终渲染到屏幕的图像: 二、我…

深度学习入门(三十五)计算性能 编译器和解释器

深度学习入门(三十五)计算性能 编译器和解释器前言计算性能——编译器和解释器教材1 符号式编程2 混合式编程3 Sequential的混合式编程3.1 通过混合式编程加速3.2 序列化4 小结前言 核心内容来自博客链接1博客连接2希望大家多多支持作者 本文记录用&…

【离散数学】第一章 测试

1. A. 对 B. 错 正确答案:A 2. A. 对 B. 错 正确答案:B 3. A. 错 B. 对 正确答案:B 4.p↔q⇔p↔q A. 对 B. 错 正确答案:A 5. A. 对 B. 错 正确答案:A 6.n个命题变元组成的命题公式共有( )种不同的…

小胶质细胞仅仅是神经系统内的“配角”?

大脑中存在着数量众多的神经胶质细胞,约占人类大脑细胞的 90%;不同类型的胶质细胞在起源、组成、形态和解剖学上都是不同的,而且它们发挥着不同的功能。 图 1. 中枢神经系统的四种神经细胞 小胶质细胞与 AD 疾病进程 小胶质细胞是一类来源于…

数据分析的重要性体现在哪?

近几年,数据分析成为了当今IT界的新起之秀,在我国互联网飞速发展的浪潮下,无论是公司职员还是个体商户或大公司管理者,都需要学习掌握数据分析的能力,它已经成为数据时代各行各业突破各自行业发展瓶颈的最有效手段。 那…

微信小程序复习题

文章目录填空题选择题判断题分析题(20)分析代码显示效果页面设计题(40)填空题 微信小程序创始人是 张小龙 ,英文缩写 Mini Program小程序是一种无需下载和无需安装即可使用的应用,它实现了应用“ 触手可得…

[附源码]java毕业设计基于web的硕士研究生入学考务管理

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

5、Redis的发布和订阅

文章目录5、Redis的发布和订阅5.1、什么是发布和订阅5.2、Redis的发布和订阅5.2.1、客户端可以订阅频道如下图5.2.2、当给这个频道发布消息后,消息就会发送给订阅的客户端5.3、发布订阅命令行实现5.3.1、打开一个客户端订阅channel15.3.2、打开另一个客户端&#xf…

Day32——二叉树专题

文章目录28.删除二叉搜索树的节点29.修剪二叉搜索树30.将有序数组转换为二叉搜索树31. 把二叉搜索树转换为累加树28.删除二叉搜索树的节点 题目链接:450. 删除二叉搜索树中的节点 - 力扣(LeetCode) 如果目标节点大于当前节点值,则…

MapReduce编程模型——自定义序列化类实现多指标统计

🏠Hadoop序列化 👉序列化 序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储(持久化)和网络传输。反序列化就是将收到字节序列(或其他数据传输协议)或者是硬盘的持久化数据,转换成内存中的对象。 &#…

7天酒店亮相中国国际饭店业大会元宇宙线上展 创见酒店投资新未来

11月12日,由中国饭店协会主办的第一届酒旅菁英品牌嘉年华“元宇宙”线上展成功举行。7天酒店“元宇宙”展馆首度亮相,通过数字化交互、虚拟展厅、线上路演等,为行业和市场带来耳目一新的创新营销形式。 作为第七届中国国际饭店业大会的线上分…

基于微信小程序的药店管理系统设计与实现-计算机毕业设计源码+LW文档

小程序开发说明 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Mav…

蓝牙HID——将android设备变成蓝牙鼠标/触控板(BluetoothHidDevice)

前言 本篇为蓝牙HID系列篇章之一,本篇以红米K30(MIUI13即Android 12)手机作为蓝牙HID设备,可以与电脑、手机、平板等其他蓝牙主机进行配对从而实现鼠标触控板的功能。 蓝牙HID系列篇章: 蓝牙HID——将android设备变成…

babel-plugin-import 实现按需引入

官方文档:https://github.com/umijs/babel-plugin-import#usage 为什么需要这个插件? 在 antd 和 element 两个组件库中,index.js 分别是这样的: // antd export { default as Button } from ./button; export { default as Tab…

智能云门禁解决方案来了

传统门禁存在的问题 01、安全性差:传统门禁卡易被复制和盗用无法精准识别进出人员身份造成较大安全隐患。 02、通行不便:要求人员近距离操作,当使 用者双手被占用时通行不便 门禁卡丢失或密码遗忘造成 无法开门。 03、管理困难&#xff1a…