企业级综合档案管理系统食品版从零搭建实操全指南

一、前置环境准备

本方案基于Python轻量架构开发,无需复杂服务器配置,个人PC即可运行,完全适配食品行业供应商资质、产品批次、质检效期的档案管理需求,所有步骤可直接复制操作,零门槛落地。

1. 安装基础环境

首先安装Python3.8及以上版本,官方下载地址:https://www.python.org/downloads/,安装过程中必须勾选Add Python to PATH选项,否则后续命令无法运行。

安装完成后打开命令提示符(cmd),直接复制运行以下命令安装所有依赖:

``` pip install flask flask_sqlalchemy ```

二、项目结构与核心代码编写

1. 创建项目文件结构

在电脑任意目录新建文件夹命名为food_archive,在该文件夹内再新建文件夹命名为templates,最终结构为:

  • food_archive/ 项目根目录
  • ├─ app.py 系统主程序
  • └─ templates/ 前端页面文件夹

2. 编写主程序app.py

打开项目根目录的app.py,直接复制粘贴以下完整代码,无需修改任何内容即可使用:

``` from flask import Flask, render_template, request, redirect, url_for from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///food_archive.db' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) 食品行业专属档案模型 供应商资质档案 class SupplierArchive(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100), nullable=False) license_no = db.Column(db.String(50), nullable=False) contact = db.Column(db.String(20)) address = db.Column(db.String(200)) create_time = db.Column(db.DateTime, default=db.func.now()) 产品批次档案 class ProductBatchArchive(db.Model): id = db.Column(db.Integer, primary_key=True) product_name = db.Column(db.String(100), nullable=False) batch_no = db.Column(db.String(50), nullable=False) produce_date = db.Column(db.Date, nullable=False) expire_date = db.Column(db.Date, nullable=False) supplier_id = db.Column(db.Integer, db.ForeignKey('supplier_archive.id'), nullable=False) qc_result = db.Column(db.String(20), default="待检") 第一次运行自动生成数据库 with app.app_context(): db.create_all() 系统路由 @app.route('/') def index(): batch_list = ProductBatchArchive.query.order_by(ProductBatchArchive.produce_date.desc()).all() return render_template('index.html', batch_list=batch_list) @app.route('/add_batch', methods=['GET', 'POST']) def add_batch(): if request.method == 'POST': new_batch = ProductBatchArchive( product_name=request.form.get('product_name'), batch_no=request.form.get('batch_no'), produce_date=request.form.get('produce_date'), expire_date=request.form.get('expire_date'), supplier_id=int(request.form.get('supplier_id')), qc_result=request.form.get('qc_result') ) db.session.add(new_batch) db.session.commit() return redirect(url_for('index')) suppliers = SupplierArchive.query.all() return render_template('add_batch.html', suppliers=suppliers) @app.route('/add_supplier', methods=['GET', 'POST']) def add_supplier(): if request.method == 'POST': new_supplier = SupplierArchive( name=request.form.get('name'), license_no=request.form.get('license_no'), contact=request.form.get('contact'), address=request.form.get('address') ) db.session.add(new_supplier) db.session.commit() return redirect(url_for('index')) return render_template('add_supplier.html') if __name__ == '__main__': app.run(debug=True, host='0.0.0.0', port=5000) ```

3. 编写前端页面模板

templates文件夹内新建3个html文件,依次复制对应内容:

第一个文件:index.html(系统首页)

``` 食品版综合档案管理系统

食品综合档案管理系统 新增供应商档案 新增产品批次档案 {% for batch in batch_list %} {% endfor %}
产品名称 批次号 生产日期 到期日期 质检结果
{{ batch.product_name }} {{ batch.batch_no }} {{ batch.produce_date }} {{ batch.expire_date }} {{ batch.qc_result }}
```

企业级综合档案管理系统食品版从零搭建实操全指南

第二个文件:add_supplier.html(新增供应商页面)

``` 新增供应商档案

新增供应商档案
```

第三个文件:add_batch.html(新增产品批次页面)

``` 新增产品批次档案

新增产品批次档案
```

三、启动运行与基础使用

1. 启动系统

打开命令提示符(cmd),使用cd命令切换到项目根目录food_archive,直接运行以下命令:

``` python app.py ```

看到命令行输出 Running on http://127.0.0.1:5000即代表启动成功。

2. 正常使用流程

  • 打开浏览器访问地址 http://127.0.0.1:5000进入系统首页
  • 第一步先录入供应商档案,留存食品经营许可证信息,满足监管要求
  • 第二步录入产品批次档案,按批次登记生产日期、保质期、质检结果,所有数据自动存储

四、常用功能扩展

1. 导出Excel档案:安装pandas openpyxl依赖后,可添加导出接口,直接把所有档案导出为Excel文件,用于监管检查。

2. 近效期预警:在首页代码中添加筛选条件,自动筛选出距离到期不足3个月的产品批次,添加标红样式即可实现效期提醒。

3. 团队多端使用:如果需要部署到公网,将项目上传到云服务器,开放5000端口,通过服务器公网IP即可访问,无需额外修改代码。

常见问题解决:启动提示模块找不到,重新运行pip install flask flask_sqlalchemy即可,若仍报错,检查Python安装时是否勾选了Add Python to PATH选项。

AI咨询
热线电话

028-85154420

15388110056

全国售前咨询电话

扫码咨询
安答联动微信公众号二维码

微信扫码关注安答联动

申请试用
热线电话
申请试用

安答联动档案管理系统