网站首页/ 信息中心/ 档案百科/

面向中小档案馆的数字档案馆系统在线借阅搭建实操指南

发布时间:2026年06月08日 00:07:58 浏览量:0

一、前期环境准备

1.1 安装基础依赖

根据你的操作系统执行对应操作,所有资源均为官方地址,可直接使用:

安装完成后打开终端/CMD,执行python3 --version,输出3.8及以上版本即安装成功。

二、项目初始化

打开终端,依次执行以下命令,每一步执行完成后再执行下一步:

``` 创建项目文件夹并进入 mkdir digital-archive && cd digital-archive 创建虚拟环境隔离依赖,避免污染全局环境 python3 -m venv venv 激活虚拟环境:Windows执行 venv\Scripts\activate Linux/Mac执行 source venv/bin/activate 安装核心功能依赖 pip install django djangorestframework django-cors-headers openpyxl 初始化项目和借阅功能模块 django-admin startproject archive_system . python manage.py startapp borrow ```

2.1 修改核心配置

用文本编辑器打开archive_system/settings.py,按如下要求替换对应配置块:

找到INSTALLED_APPS,替换为:

``` INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'corsheaders', 'borrow', ] ```

找到MIDDLEWARE,在第一行添加跨域中间件,修改后开头部分为:

``` MIDDLEWARE = [ 'corsheaders.middleware.CorsMiddleware', 'django.middleware.security.SecurityMiddleware', 保持原有其他内容不变即可 ] ```

在文件末尾添加以下配置:

``` ALLOWED_HOSTS = [''] CORS_ALLOW_ALL_ORIGINS = True MEDIA_ROOT = './media/' MEDIA_URL = '/media/' ```

注意:测试阶段可直接用上述配置,正式上线需将ALLOWED_HOSTS改为你的实际域名,删除CORS_ALLOW_ALL_ORIGINS,配置指定域名白名单,避免安全风险

三、创建借阅功能核心数据模型

打开borrow/models.py,删除原有内容,替换为以下完整可运行代码:

``` from django.db import models 档案实体 class Archive(models.Model): archive_no = models.CharField(max_length=50, unique=True, verbose_name='档案编号') name = models.CharField(max_length=200, verbose_name='档案名称') category = models.CharField(max_length=100, verbose_name='档案类别') digital_file = models.FileField(upload_to='archives/', verbose_name='数字化文件') is_open = models.BooleanField(default=False, verbose_name='是否开放借阅') create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') def __str__(self): return self.name 借阅申请单 class BorrowApplication(models.Model): STATUS_CHOICES = ( (0, '待审核'), (1, '已通过'), (2, '已拒绝'), ) applicant_name = models.CharField(max_length=50, verbose_name='申请人姓名') applicant_contact = models.CharField(max_length=20, verbose_name='联系电话') archive = models.ForeignKey(Archive, on_delete=models.CASCADE, verbose_name='申请档案') reason = models.TextField(verbose_name='借阅原因') status = models.IntegerField(choices=STATUS_CHOICES, default=0, verbose_name='审核状态') expire_time = models.DateField(verbose_name='借阅到期时间') apply_time = models.DateTimeField(auto_now_add=True, verbose_name='申请时间') def __str__(self): return f"{self.applicant_name}-{self.archive.name}" ```

执行数据库迁移命令,生成系统所需数据表:

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

四、配置后台管理与前端页面

4.1 注册后台管理模型

面向中小档案馆的数字档案馆系统在线借阅搭建实操指南

打开borrow/admin.py,删除原有内容,写入以下内容:

``` from django.contrib import admin from .models import Archive, BorrowApplication admin.site.register(Archive) admin.site.register(BorrowApplication) ```

4.2 拉取开箱即用的用户端页面

在项目根目录执行以下命令,拉取适配好的用户端在线借阅页面:

``` mkdir templates && git clone https://gitee.com/longyangxian/archive-borrow-front.git ./templates/borrow ```

修改archive_system/urls.py,替换为以下完整内容:

``` from django.contrib import admin from django.urls import path from django.conf import settings from django.conf.urls.static import static from django.views.generic import TemplateView urlpatterns = [ path('admin/', admin.site.urls), path('', TemplateView.as_view(template_name='borrow/index.html'), name='borrow-index'), ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) ```

五、启动使用与正式部署

5.1 创建管理员账号

执行以下命令,按提示输入管理员账号和密码,用于后台上传档案、审核借阅申请:

``` python manage.py createsuperuser ```

5.2 本地启动测试

执行启动命令:

``` python manage.py runserver 0.0.0.0:8000 ```

此时即可正常使用,两个入口分别为:

完整操作流程:

  1. 管理员登录后台,上传需要开放借阅的档案,填写基础信息,设置为开放借阅
  2. 用户访问首页,找到目标档案,填写个人信息、借阅原因,提交借阅申请
  3. 管理员后台查看申请,设置借阅有效期,审核通过后,用户即可在线查看或下载档案数字化文件,到期后自动关闭访问权限

5.3 公网正式上线配置

如需部署到公网,执行以下命令即可,配置可直接复制修改使用:

``` 安装生产环境服务依赖 pip install gunicorn 后台启动服务 nohup gunicorn -b 0.0.0.0:8000 archive_system.wsgi:application & ```

配置Nginx反向代理,在/etc/nginx/sites-available/digital-archive写入以下配置,替换域名和项目路径后即可启用:

``` server { listen 80; server_name 你的域名; location / { proxy_pass http://127.0.0.1:8000; } location /media/ { root /你的项目绝对路径/digital-archive/; } } ```

安全注意事项:涉密档案禁止部署到公网,正式上线需开启Nginx访问日志,定期清理异常申请,单文件上传限制可根据实际需求在Nginx和Django中调整。

音频档案管理:别让宝贵的声音资料变成一堆乱麻
音频档案管理:别让宝贵的声音资料变成一堆乱麻
你是不是也这样?手机里存了几百个录音文件,有工作会议、孩子第一次叫妈妈、重要的电话录音,还有自己瞎哼哼的旋律。想找半年前那次关键的会议记录?得,在文件海洋里翻个半小时,最后可能还找错了。更扎心的是,有...
2026年06月08日 00:07:58
微信咨询
电话联系
QQ客服
微信咨询一对一服务
服务热线: 028-8744 4417
QQ客服: 2305721818