提前安装好Python 3.8及以上版本,直接复制以下命令到终端运行,完成依赖安装:
``` pip install flask flask-sqlalchemy ```在本地新建一个名为archive_manage的文件夹,在文件夹内新建一个空白文件,命名为app.py,最终结构如下:
将以下完整代码直接复制到app.py中,无需修改任何内容即可运行:
``` from flask import Flask, request, render_template_string from flask_sqlalchemy import SQLAlchemy from datetime import datetime app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///dev.db' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) 档案基础信息表 class Archive(db.Model): id = db.Column(db.Integer, primary_key=True) archive_no = db.Column(db.String(50), unique=True, nullable=False, comment='档案编号') archive_name = db.Column(db.String(200), nullable=False, comment='档案名称') category = db.Column(db.String(100), nullable=False, comment='档案类别') status = db.Column(db.String(20), default='在库', comment='状态:在库/出库') create_time = db.Column(db.DateTime, default=datetime.now) 出入库流水表 class StockFlow(db.Model): id = db.Column(db.Integer, primary_key=True) archive_id = db.Column(db.Integer, db.ForeignKey('archive.id'), nullable=False) flow_type = db.Column(db.String(20), nullable=False, comment='类型:入库/出库') operator = db.Column(db.String(50), nullable=False, comment='经办人') flow_time = db.Column(db.DateTime, default=datetime.now) remark = db.Column(db.String(200), comment='备注') archive = db.relationship('Archive', backref=db.backref('flows', lazy=True)) 首页模板 INDEX_HTML = ''' 综合档案出入库管理| 档案编号 | 档案名称 | 类别 | 状态 | 操作 |
|---|---|---|---|---|
| {{ archive.archive_no }} | {{ archive.archive_name }} | {{ archive.category }} | {{ archive.status }} | {% if archive.status == '在库' %}出库{% else %}已出库{% endif %} |

档案信息:{{ archive.archive_no }} - {{ archive.archive_name }}
''' 流水页模板 FLOW_HTML = ''' 出入库流水| 档案编号 | 档案名称 | 业务类型 | 经办人 | 时间 | 备注 |
|---|---|---|---|---|---|
| {{ flow.archive.archive_no }} | {{ flow.archive.archive_name }} | {{ flow.flow_type }} | {{ flow.operator }} | {{ flow.flow_time.strftime('%Y-%m-%d %H:%M') }} | {{ flow.remark }} |
打开终端,进入你创建的archive_manage文件夹,执行以下命令启动系统:
启动成功后,终端会输出 Running on http://127.0.0.1:5000,直接用浏览器打开这个地址即可使用。
如果需要适配自身业务,直接修改对应内容即可,以下是常用调整方法:
例如需要新增「存放位置」字段,操作步骤为:
1. 打开app.py找到 存放位置:class Archive,新增一行代码:location = db.Column(db.String(100), nullable=True, comment='存放位置')
2. 找到IN_HTML模板,在备注输入框前新增一行表单:
3. 修改创建Archive对象的代码,新增赋值:location = request.form.get('location', '')即可生效。
如果需要只展示某一类别的档案在首页,直接修改首页路由的查询代码即可,例如只展示合同类档案:
archives = Archive.query.filter_by(category='合同类').all()
所有业务数据都存储在项目启动后自动生成的instance/dev.db文件中,备份仅需要复制这个文件到安全位置即可,恢复使用时只需要将备份文件放回原项目路径,重启系统即可读取所有数据。