资产评估机构专属档案软件本地快速部署实操指南
1. 环境准备
部署该软件仅需Python环境,无需额外数据库服务,全程可本地离线运行,无复杂配置要求。
1.1 安装指定版本Python
根据你使用的系统执行对应命令,必须确保Python版本≥3.9,安装后执行`python --version`验证版本:
- Windows(PowerShell管理员模式): ``` winget install Python.Python.3.10 ```
- macOS(终端): ``` brew install python@3.10 ```
- Debian/Ubuntu(终端): ``` sudo apt update && sudo apt install python3.10 python3-pip ```
1.2 创建项目目录与依赖文件
在任意路径执行命令创建项目文件夹并切换路径:
``` mkdir asset_archive && cd asset_archive ```在项目目录下新建`requirements.txt`文件,必须完整复制以下内容,不能修改版本号:
``` Flask==2.3.3 Flask-SQLAlchemy==3.1.1 werkzeug==2.3.7 ```执行命令安装依赖库:
``` pip install -r requirements.txt ```2. 软件核心代码编写

在项目目录下新建`app.py`文件,必须完整复制以下代码,无换行遗漏:
```python from flask import Flask, render_template, request, redirect, url_for from flask_sqlalchemy import SQLAlchemy import os app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///archive.db' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config['UPLOAD_FOLDER'] = 'uploads' os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True) db = SQLAlchemy(app) 资产评估机构档案模型 class AssetArchive(db.Model): id = db.Column(db.Integer, primary_key=True) agency_name = db.Column(db.String(100), nullable=False) qualification_no = db.Column(db.String(50), nullable=False) assessors = db.Column(db.String(200), nullable=False) report_path = db.Column(db.String(200)) validity_date = db.Column(db.String(20), nullable=False) 创建数据库表 with app.app_context(): db.create_all() @app.route('/', methods=['GET', 'POST']) def index(): if request.method == 'POST': 处理文件上传 file = request.files['report_file'] filename = file.filename if filename: file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) 新增档案 new_archive = AssetArchive( agency_name=request.form['agency_name'], qualification_no=request.form['qualification_no'], assessors=request.form['assessors'], report_path=filename if filename else '', validity_date=request.form['validity_date'] ) db.session.add(new_archive) db.session.commit() return redirect(url_for('index')) 查询所有档案 archives = AssetArchive.query.all() return render_template('index.html', archives=archives) if __name__ == '__main__': app.run(debug=True) ```在项目目录下新建`templates`文件夹,再在该文件夹内新建`index.html`文件,必须将文件放入指定文件夹,不能改动文件名,内容完整复制:
```html新增资产评估档案
已存档案列表
| 机构名称 | 资质编号 | 评估师 | 报告文件 | 有效期 |
|---|---|---|---|---|
| {{ archive.agency_name }} | {{ archive.qualification_no }} | {{ archive.assessors }} | {% if archive.report_path %}查看{% endif %} | {{ archive.validity_date }} |
3. 软件启动与使用
3.1 启动服务
在项目目录下执行命令启动软件:
``` python app.py ```启动后终端显示`Running on http://127.0.0.1:5000`,说明服务正常,端口占用时可终止后更换端口(如执行`python -m flask run -p 5001`)。
3.2 档案录入操作
- 打开浏览器输入地址:`http://127.0.0.1:5000`
- 在「新增资产评估档案」表单中,所有带`required`标记的字段必须填写完整:
- 机构名称:填写资产评估机构全称
- 资质编号:填写执业资质的官方编号
- 评估师名单:填写牵头评估师及助理人员姓名
- 评估报告:可上传PDF/Word格式的正式报告
- 有效期:填写资质或报告的到期日期
- 点击「保存档案」,系统自动存储数据并跳转至档案列表页,可查看已存档案及附件的在线预览链接。
4. 数据管理(可选)
备份数据时,直接复制项目目录下的`archive.db`(核心数据库文件)和`uploads`文件夹(附件存储)即可;如需局域网多设备访问,将`app.py`中`app.run(debug=True)`修改为`app.run(host='0.0.0.0', port=5000)`,同一局域网内其他设备输入主机IP(如192.168.1.100:5000)即可访问。