# material **Repository Path**: lv-dingzhou/material ## Basic Information - **Project Name**: material - **Description**: material 是一个基于 Django 框架的物料申请平台,它使用 Django 自带的 admin 后台进行定制,提供了基地、部门、物料申请、部门物料库存、物料管理、设备管理等功能。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2024-01-12 - **Last Updated**: 2024-01-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # material - 物料申请平台 material 是一个基于 Django 框架的物料申请平台,它使用 Django 自带的 admin 后台进行定制,提供了基地、部门、物料申请、部门物料库存、物料管理、设备管理等功能。 # 项目部分图 ![输入图片说明](media/readme_img/mainpage.png) ![输入图片说明](media/readme_img/departmentsock.png) ![输入图片说明](media/readme_img/material.png) ![输入图片说明](media/readme_img/materialrequest.png) ![输入图片说明](media/readme_img/materialtype.png) # 功能特性 - 基地\部门管理:添加、编辑、删除基地\部门信息。 - 物料类型及物料管理:物料类型及物料之间的关系。 - 部门物料库存管理:部门领取物料库存及库存预警设置。 - 物料管理员:审批物料申请状态。 - 物料申请管理:物料的申请,对物料申请的导出、图表生成(按照部门申请物料比例生成) - 设备类型、设备与部门关系管理:设备对应各部门 - 设备运行台账:用于设备运行管理台账 ```textmate 项目使用须知: 1. 创建用户、用户组基地、部门、物料管理员,可额外创建物料申请人及其用户组(只用于物料申请)(注意:创建用户的时候,最好填写姓氏和名字,例如“张三”,姓氏“张”,名字“三”。 2. 需要把物料管理员和物料申请人在“用户部门”中对应部门 3. 物料管理员去创建物料类型的大类、再去物料中增加物料具体编码、物料型号、单位等信息作为各部门统一的物料类别 4. 各部门的物料管理员要创建对应的物料库存数量、预警数量(预警只是一个可查看的阈值,可通过搜索栏“库存状态”查看) 5. 在部门库存有物料的时候,物料申请人员可以去申请物料,选择本部门的审批人,填写对应字段,在物料申请项中选择部门库存的物料,输入数量,保存(如果输入的数量高于了部门物料的库存,会自动告警) 6. 物料管理员在物料申请的表单中查看审批中的物料申请,根据单据实际情况审批是否通过。如果通过,则会减去部门对应物料的库存。(无论通过还是未通过,单据都会默认不可修改,超级管理员或者给了权限组权限也可以删除) 7. (额外功能):设备类型填写设备的大类 8. (额外功能):设备与部门关系是设备在该部门什么未知,什么状态,什么名字的关系 9. (额外功能):环保设备运行台账是设备每次运行的台账信息(注意:停机时间不能小于开机时间;在运行状态为异常的时候,异常情况必须填写,会自动提醒) 10.(额外功能):日志功能,能查看用户的保存、删除、新增的日志 ``` # 项目结构 ```textmate material:主项目 mater应用:用于基地、部门、物料申请、部门物料库存、物料管理、设备管理等功能 ``` # 配置说明 - media:目录用于存放动态生成的二维码图片。 - static:目录包含了项目的静态文件,如 CSS、JS 和图片。由 python manage.py collectstatic 生成 - templates:目录用于存放 HTML 模板(不项目没有html)。 - logs:目录用于该项目所产生的日志文件 - pub:目录用于各应用Django-import_export及pandas导入导出 # 快速开始 以下是如何在本地环境设置和运行 material 项目的步骤: # 环境要求 - Python==3.11.7 - Django==4.2.7 # 安装步骤 1. 进入项目目录: ```sh cd material ``` 2. 安装依赖: ```sh pip install -r requirements.txt ``` 3. 创建数据库(因我使用的是mysql): ```sh mysql -uroot -p ``` ```sh create database material; ``` 4. 迁移数据库 ```sh python manage.py makemigrations python manage.py migrate ``` 5. 创建管理员账号: ```sh python manage.py createsuperuser ``` 6. 生成静态文件: ```sh python manage.py collectstatic ``` 7. 运行开发服务器: ```sh python manage.py runserver ``` 访问 http://localhost:8000 进行管理操作(在 settings.py 中设置地址)。 # 安全性 请确保在生产环境中更新 SECRET_KEY,并调整其他安全相关的设置。 # 开源协议 material是完全免费和开源的,并根据 [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) 许可证获得许可。 # 致谢 - [Django](https://www.djangoproject.com/)