网站首页/ 信息中心/ 技术指南/

交通领域执法档案管理系统从零搭建落地实操完整指南

发布时间:2026年06月17日 01:35:21 浏览量:0

一、前置环境准备

本案例针对基层交通执法单位需求,搭建轻量可直接使用的档案管理系统,无需复杂基础设施,零门槛即可落地。

1.1 安装Python环境

下载Python 3.10稳定版,地址:https://www.python.org/downloads/release/python-31011/

关键注意事项:安装过程中必须勾选「Add Python to PATH」选项,否则后续命令无法运行,默认安装即可完成。

1.2 安装项目依赖

安装完成后按下Win+R输入cmd打开命令提示符,直接复制执行以下命令,自动安装所有依赖:

``` pip install flask flask_sqlalchemy werkzeug==2.2.3 ```

1.3 创建项目目录结构

在D盘新建根文件夹命名为traffic_archive,按以下结构创建子文件夹:

所有文件后续按路径存放即可。

二、编写项目核心代码

2.1 编写主程序文件

在D:\traffic_archive目录下新建文件命名为app.py,复制以下完整代码即可,无需修改:

``` from flask import Flask, render_template, request, redirect from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///traffic_archive.db' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) 交通执法档案数据模型,贴合业务需求 class TrafficArchive(db.Model): id = db.Column(db.Integer, primary_key=True) archive_no = db.Column(db.String(20), unique=True, nullable=False) law_enforce_time = db.Column(db.String(10), nullable=False) illegal_type = db.Column(db.String(50), nullable=False) plate_no = db.Column(db.String(10), nullable=False) party_name = db.Column(db.String(50), nullable=False) document_path = db.Column(db.String(200), nullable=False) def __repr__(self): return '' % self.archive_no 首页搜索路由 @app.route('/', methods=['GET']) def index(): keyword = request.args.get('keyword', '') if keyword: archives = TrafficArchive.query.filter( (TrafficArchive.plate_no.contains(keyword)) | (TrafficArchive.archive_no.contains(keyword)) ).all() else: archives = TrafficArchive.query.all() return render_template('index.html', archives=archives, keyword=keyword) 新增档案路由 @app.route('/add', methods=['GET', 'POST']) def add(): if request.method == 'POST': new_archive = TrafficArchive( archive_no = request.form.get('archive_no'), law_enforce_time = request.form.get('law_enforce_time'), illegal_type = request.form.get('illegal_type'), plate_no = request.form.get('plate_no'), party_name = request.form.get('party_name'), document_path = request.form.get('document_path') ) db.session.add(new_archive) db.session.commit() return redirect('/') return render_template('add.html') 删除档案路由 @app.route('/delete/') def delete(id): archive = TrafficArchive.query.get_or_404(id) db.session.delete(archive) db.session.commit() return redirect('/') if __name__ == '__main__': app.run(debug=False) ```

2.2 编写前端页面文件

templates文件夹新建index.html,复制以下代码:

``` 交通执法档案管理系统 交通执法档案管理系统
新增档案 {% for archive in archives %} {% endfor %}
档案编号执法日期违法类型车牌号当事人操作
{{archive.archive_no}}{{archive.law_enforce_time}}{{archive.illegal_type}}{{archive.plate_no}}{{archive.party_name}}查看文书 删除
```

接着在templates文件夹新建add.html,复制以下代码:

``` 新增交通档案 新增交通执法档案

档案编号:

执法日期(YYYY-MM-DD):

交通领域执法档案管理系统从零搭建落地实操完整指南

违法类型:

车牌号:

当事人姓名:

文书扫描件路径:

```

三、初始化数据库

打开命令提示符,依次执行以下命令,每输入一行按一次回车:

``` cd D:\traffic_archive python from app import db db.create_all() exit() ```

以上步骤没有报错即完成数据库初始化,不会生成额外文件,自动在项目目录生成数据库文件。

四、启动使用与日常操作

4.1 启动系统

在命令提示符的D:\traffic_archive目录下,输入以下命令启动系统:

``` python app.py ```

启动后打开任意浏览器,输入地址http://127.0.0.1:5000即可进入系统。

4.2 日常操作流程

  • 新增档案:点击首页「新增档案」按钮,按要求填写所有信息。如果上传了扫描件,将扫描件放入D:\traffic_archive\static\uploads目录,路径填写为static/uploads/你的文件名.jpg即可。
  • 检索档案:在首页搜索框输入车牌号或者档案编号,点击搜索即可一键找到对应档案,点击「查看文书」可以打开扫描件。
  • 删除档案:点击对应档案的删除按钮,确认后即可删除错误录入的档案。

五、多用户公网部署(可选)

如果需要单位多电脑同时使用,将整个项目上传到CentOS 7云服务器,执行以下命令即可启动:

``` pip install gunicorn gunicorn -b 0.0.0.0:5000 app:app -D ```

开放服务器5000端口后,通过服务器公网IP即可访问,原有数据和档案会完整保留。

档案数字化硬盘价格多少才合理?过来人踩坑实操指南
档案数字化硬盘价格多少才合理?过来人踩坑实操指南
说真的,我前两年帮单位搞档案数字化项目,光是选硬盘就踩了不下三个大坑,多花了小两万不说,还差点把半年扫好的电子档搞丢过半份,现在想起都后脊梁骨冒冷汗。今天就掏心窝子给你们唠唠档案数字化硬盘价格那点事儿...
2026年06月17日 01:35:21
微信咨询
电话联系
QQ客服
微信咨询一对一服务
服务热线: 028-8744 4417
QQ客服: 2305721818