地方综合档案馆档案开放服务线上查询系统搭建实操指南

前置准备:环境与工具清单

所有工具均为免费开源,可直接获取,无需付费,清单如下:

  • Python 3.10+,官方下载地址:https://www.python.org/downloads/,安装时勾选Add Python to PATH选项
  • Django 4.2,安装命令后续给出,无需提前下载
  • SQLite3,Python自带,无需额外安装
  • Layui 2.8前端模板,直接下载地址:https://gitee.com/sentsin/layui/releases/download/v2.8.13/layui-v2.8.13.zip
  • 云服务器与域名(仅对外提供服务需要,本地测试可省略)

项目初始化与基础配置

步骤1:创建项目结构

打开命令提示符,依次执行以下命令,完整复制即可:

``` 创建项目根文件夹 mkdir archive-open cd archive-open 安装Django 4.2 pip install django==4.2 创建Django项目 django-admin startproject archive_service . 创建档案查询应用 python manage.py startapp query ```

步骤2:修改项目配置文件

用文本编辑器打开archive_service/settings.py,按以下要求修改,替换对应部分内容即可:

``` 修改INSTALLED_APPS,新增query应用 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'query', 新增批量导入功能依赖 'import_export', ] 修改ALLOWED_HOSTS,测试环境可配置为,上线替换为你的域名 ALLOWED_HOSTS = [''] 在文件末尾添加静态文件配置 STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') ```

执行命令安装批量导入依赖包:pip install django-import-export==3.1.0

步骤3:创建数据模型并初始化数据库

打开query/models.py,替换为以下完整内容:

``` from django.db import models class OpenArchive(models.Model): archive_number = models.CharField('档号', max_length=50, db_index=True) title = models.CharField('档案题名', max_length=200, db_index=True) year = models.IntegerField('年度', db_index=True) category = models.CharField('类别', max_length=50) keeper = models.CharField('保管单位', max_length=100) opening_date = models.DateField('开放日期') description = models.TextField('内容简介', blank=True, null=True) is_opened = models.BooleanField('是否开放', default=True) class Meta: verbose_name = '开放档案' verbose_name_plural = verbose_name def __str__(self): return self.title ```

打开query/admin.py,替换为以下内容,支持批量导入Excel数据:

``` from django.contrib import admin from import_export.admin import ImportExportModelAdmin from .models import OpenArchive @admin.register(OpenArchive) class OpenArchiveAdmin(ImportExportModelAdmin): list_display = ['archive_number', 'title', 'year', 'category', 'is_opened'] list_filter = ['year', 'category', 'is_opened'] search_fields = ['title', 'archive_number'] ```

执行数据库迁移和创建超级管理员命令,依次执行:

``` python manage.py makemigrations python manage.py migrate python manage.py createsuperuser ```

地方综合档案馆档案开放服务线上查询系统搭建实操指南

按提示输入用户名、邮箱、密码,密码要求8位以上,请记住账号密码,用于后台管理。

开发查询功能与前端页面

步骤1:配置路由

打开archive_service/urls.py,替换为以下完整内容:

``` from django.contrib import admin from django.urls import path from query import views urlpatterns = [ path('admin/', admin.site.urls), path('', views.index, name='index'), path('search/', views.search, name='search'), ] ```

步骤2:编写查询视图逻辑

打开query/views.py,替换为以下完整内容:

``` from django.shortcuts import render from .models import OpenArchive def index(request): return render(request, 'index.html') def search(request): keyword = request.GET.get('keyword', '').strip() year = request.GET.get('year', '').strip() condition = {'is_opened': True} if keyword: condition['title__icontains'] = keyword if year and year.isdigit(): condition['year'] = int(year) result = OpenArchive.objects.filter(condition) return render(request, 'index.html', {'result': result, 'keyword': keyword, 'year': year}) ```

步骤3:创建前端查询页面

query目录下新建templates文件夹,在其中新建index.html;将之前下载的Layui解压,把解压后的layui文件夹复制到项目根目录,新建的static文件夹中。将以下内容复制到index.html

``` 档案开放查询服务

档案馆档案开放查询服务

{% if result %} {% for item in result %} {% endfor %}
档号 档案题名 年度 类别 保管单位 开放日期
{{item.archive_number}} {{item.title}} {{item.year}} {{item.category}} {{item.keeper}} {{item.opening_date}}
{% endif %}
```

本地测试与数据录入

执行命令启动本地服务:python manage.py runserver 0.0.0.0:8000

打开浏览器访问地址:本地测试为http://127.0.0.1:8000,服务器测试为http://你的服务器IP:8000,能正常打开查询页面即为成功。

登录后台录入数据:访问地址http://你的地址/admin,用之前创建的超级管理员账号登录,点击开放档案,可以选择导入功能,直接上传整理好的Excel格式档案数据,批量导入完成即可。

上线部署注意事项

  • 安全配置:上线前必须修改settings.py中的DEBUG = False,修改ALLOWED_HOSTS为你的实际域名,禁止保留ALLOWED_HOSTS = ['']
  • 合规要求:仅录入符合开放规定的档案,涉密、未解密档案禁止录入开放查询库
  • 数据备份:定期备份SQLite数据库文件,直接复制项目根目录下的db.sqlite3文件保存即可

按照以上步骤操作,即可完成可直接对外提供服务的档案开放查询系统,零额外成本,功能满足区县及地方综合档案馆的基本开放服务需求。

AI咨询
热线电话

028-85154420

15388110056

全国售前咨询电话

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

微信扫码关注安答联动

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

安答联动档案管理系统