InvenTree 开源库存管理系统使用指南:3 种部署方式与从入门到进阶的完整上手路径
【免费下载链接】InvenTreeOpen Source Inventory Management System项目地址: https://gitcode.com/GitHub_Trending/in/InvenTree
抽屉里的元器件越攒越多,Excel 表却早就对不上实物:电阻还剩几颗?那批 0402 电容放在哪个货架?查一次要翻半天表格。InvenTree 是一个开源库存管理系统,用 Django 后端和 React 前端实现,支持多级分类、批次与序列号、条码扫描、采购订单和 REST API。把零件、库存、采购这几件事交给它之后,你要做的事基本只剩下"扫码、确认、入库"。
装起来:5 分钟用 Docker 跑起 InvenTree
大多数人的最短路径是 Docker 部署。原因不复杂:数据库、缓存、Web 服务都打包在容器里,你不用单独配置任何一项。克隆仓库后进入容器目录,一条命令启动:
git clone https://gitcode.com/GitHub_Trending/in/InvenTree cd InvenTree/contrib/container docker-compose up -d如果你需要改代码、写插件,才建议走传统 Python 部署:创建虚拟环境、安装依赖,然后在 后端源码 目录下执行python manage.py migrate完成数据库迁移,createsuperuser建管理员账号,runserver起开发服务器。正式对外提供服务时,生产环境推荐 Gunicorn 作为 WSGI 服务器,前面挂 Nginx 反向代理,Nginx 的参考配置就在仓库contrib/container/nginx.conf里。
| 方式 | 适合谁 | 说明 |
|---|---|---|
| Docker(docker-compose) | 多数人 | 依赖全部打包,无需单独配置 |
| Python 脚本 | 要改代码的人 | 需手动建虚拟环境、装依赖、跑迁移 |
| Gunicorn + Nginx | 正式对外服务 | 生产环境标准组合 |
搭基础:零件、分类树和供应商怎么建
数据基础分三块:分类、零件、供应商。
- 建分类树。三层就够:器件大类(电阻、电容、连接器)→ 封装(0402、0603)→ 具体规格。建到四五层,后面在移动端和网页上找东西都会变慢。
- 建零件并挂进分类。一个零件一条记录,填好编号、参数和用途。零件页面上能看到库存数量,之后所有库存条目都挂在它下面。
- 补供应商信息。在后台管理界面的公司模块里建供应商和厂家。零件页能直接看到"谁供货",采购下单时也不用每次手敲地址电话。
后台管理里的零件分类页面:多级分类是 InvenTree 使用入门的第一站,管理前先在这里把结构定下来
如果你手头已经有一份整理好的 Excel 或 CSV,别逐条手点:后台的数据导入功能可以建一个导入会话,把文件上传后做字段映射,再执行处理,零件和分类能一次搬进来。
日常运转:出入库、条码扫描与移动端
日常操作围着库存条目和库存位置转:
- 入库/出库:对某个零件"添加库存"或"移除库存",必须选一个位置、填数量。
- 位置:货架 → 抽屉 → 格子,同样是三层的深度就合适。位置变了就做一次移动,历史可追溯。
- 条码:给库存条目贴码后,用手机 App 扫一下,几秒钟内就能看到它在哪个位置、还剩多少。3000 个零件的库,靠条码查一次不到 10 秒,靠翻表格可能半小时起步。App 里还能直接在扫码结果上做库存操作,不用回电脑前。
库存移动是 InvenTree 日常运转的核心动作之一,移动记录完整保留,方便回溯批次去向
移动端 App 可以直接连接你的服务器(支持 iOS 和 Android 应用商店下载)。车间里扫码查库存、仓库里确认收货,数据同步后自动更新,这比"回办公室查表"少跑了很多冤枉路。
进阶玩法:采购订单、REST API 与插件
采购订单:在公司模块的供应商下新建订单(PO),填行项目和数量。货到了执行收货,库存条目落进指定位置,订单状态随之流转(未处理 → 已收货 → 已完成)。从此"这批料什么时候到"不用翻聊天记录。
REST API:零件、库存、订单等模块都有 API 端点,文档自动生成,浏览器里可以在线查看和调试。认证用 Token 头,比如请求http://localhost:8000/api/part/拉取零件列表。把它接进自己的脚本或别的系统,数据就能自动流转。
插件:InvenTree 的插件机制可以扩展货币汇率、条码、通知、导出等能力,仓库里内置了不少现成插件,装一个就能用;自己写插件的入口在 插件系统源码。
REST API 文档页支持在线浏览与调试,是 InvenTree 部署教程之外,做第三方集成的主要入口
避坑与调优:几个容易栽的点
- 数据库连不上:先确认数据库服务在跑,再查配置文件里的连接参数。
- 静态文件和上传目录的权限:读写权限没给够,访问时就会报错,这是新手最常遇到的一类。
- 性能:数据量上来后,把缓存接上 Redis(Django 的 CACHES 配置项),页面会明显变快。
- 分类树别建太深:三层以内是多数库的甜点位;再深就考虑用标签或参数表达差异。
- 权限:别全员超管。后台角色里给管理员、库存管理员、只读查看者各配一套,按人分配。
- 批量操作:导入、导出优先走导入会话,手工一条条点既慢又容易漏。
后台的用户与角色管理页:InvenTree 权限角色在这里配置,只读账号和写账号要分开
今天就能做的一步
跑docker-compose up -d,等容器就绪后进系统;建一个分类、挂一个零件、做一次条码查询。走通这三步,整个 InvenTree 的库存管理闭环就验证完了,剩下的只是把数据搬进来的事。完整文档和示例在 官方文档 里,卡住了随时翻。
【免费下载链接】InvenTreeOpen Source Inventory Management System项目地址: https://gitcode.com/GitHub_Trending/in/InvenTree
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考