一、前置环境准备
1.1 安装Python运行环境
Windows 64位系统直接下载官方安装包:https://www.python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe
安装时必须勾选「Add Python 3.10 to PATH」选项,一路点击下一步完成安装。安装完成后打开CMD命令提示符,输入 python --version,输出Python 3.10.x即为安装成功。
1.2 安装核心依赖包
在CMD中依次执行以下命令,每个命令回车后等待安装完成再执行下一个:
```
pip install django==4.2 django-filter pandas openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple
```
以上依赖包含框架、筛选、Excel导入导出功能,满足建筑档案管理的全部基础需求。
二、项目初始化与核心配置
2.1 创建项目与应用
在CMD中进入你要存放项目的目录,依次执行以下命令:
```
django-admin startproject arch_filer
cd arch_filer
python manage.py startapp document
```
2.2 修改系统配置文件
用文本编辑器打开 arch_filer/settings.py,找到 INSTALLED_APPS 配置项,完整替换为以下内容:
```
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'document',
'django_filters',
]
```
找到 ALLOWED_HOSTS 配置项,修改为:ALLOWED_HOSTS = [""]
在配置文件末尾追加以下内容,用于存放档案扫描件:
```
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
```

配置默认使用SQLite数据库,不需要额外安装数据库,中小团队完全满足需求。
三、创建建筑文书档案数据模型
用文本编辑器打开 document/models.py,删除原有内容,完整复制粘贴以下代码:
```
from django.db import models
class ArchDocument(models.Model):
DOC_TYPE_CHOICES = (
(1, '立项审批文件'),
(2, '招投标文件'),
(3, '工程合同'),
(4, '施工技术资料'),
(5, '质量验收文件'),
(6, '竣工结算文件'),
(7, '其他文书'),
)
doc_name = models.CharField(max_length=200, verbose_name='文书名称')
doc_code = models.CharField(max_length=50, verbose_name='文书编号', unique=True)
doc_type = models.IntegerField(choices=DOC_TYPE_CHOICES, verbose_name='文书类型')
project_name = models.CharField(max_length=200, verbose_name='所属项目')
create_date = models.DateField(verbose_name='形成日期')
keeper = models.CharField(max_length=50, verbose_name='保管人')
scan_file = models.FileField(upload_to='arch_scan/', verbose_name='扫描件', blank=True, null=True)
remark = models.TextField(verbose_name='备注', blank=True, null=True)
create_time = models.DateTimeField(auto_now_add=True, verbose_name='录入时间')
class Meta:
verbose_name = '建筑文书档案'
verbose_name_plural = verbose_name
```
该模型已经覆盖建筑项目全周期的文书分类,不需要修改即可直接使用。
四、配置后台管理功能
打开 document/admin.py,删除原有内容,完整复制粘贴以下代码:
```
from django.contrib import admin
from .models import ArchDocument
@admin.register(ArchDocument)
class ArchDocumentAdmin(admin.ModelAdmin):
list_display = ('doc_name', 'doc_code', 'doc_type', 'project_name', 'create_date', 'keeper')
list_filter = ('doc_type', 'project_name')
search_fields = ('doc_name', 'doc_code', 'project_name')
actions = ['export_selected_doc']
def export_selected_doc(self, request, queryset):
import pandas as pd
from django.http import HttpResponse
data = []
for obj in queryset:
data.append({
'文书名称': obj.doc_name,
'文书编号': obj.doc_code,
'文书类型': obj.get_doc_type_display(),
'所属项目': obj.project_name,
'形成日期': obj.create_date,
'保管人': obj.keeper,
'备注': obj.remark
})
df = pd.DataFrame(data)
response = HttpResponse(content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
response['Content-Disposition'] = 'attachment; filename=建筑文书档案.xlsx'
df.to_excel(response, index=False)
return response
export_selected_doc.short_description = '导出选中档案'
```
以上配置已经自带筛选、搜索、批量导出功能,满足归档上报需求。接下来执行数据库迁移和管理员创建,在CMD中依次执行:
```
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
```
执行创建管理员命令时,依次输入用户名、邮箱(可直接回车留空)、密码(要求8位以上,输入两次确认即可)。
五、启动系统开始使用
在CMD中执行启动命令:
```
python manage.py runserver 0.0.0.0:8000
```
打开浏览器输入地址 http://localhost:8000/admin,输入刚才创建的账号密码即可进入管理后台,核心操作如下:
- 新增档案:点击「建筑文书档案」右侧的「增加」,填写对应信息,上传扫描件后保存即可
- 查询档案:左侧按文书类型筛选,顶部搜索框可输入名称、编号、项目名称快速定位
- 批量导出:勾选需要导出的档案,点击操作下拉框选择「导出选中档案」,确认后即可下载Excel文件
六、常见问题解决
- 依赖安装失败:检查是否勾选了PATH选项,关闭杀毒软件后重新执行安装命令即可
- 多同事访问:将项目部署在公司局域网服务器,启动时替换为服务器内网IP,开放防火墙8000端口即可,10人以内同时使用完全稳定
- 忘记管理员密码:在项目根目录执行
python manage.py changepassword 你的用户名,按照提示输入新密码即可
按照以上步骤操作,10分钟即可完成搭建,所有数据存储在本地,满足建筑行业档案保密要求,直接即可投入使用。