1. 项目背景与需求分析
青岛滨海学院作为一所地方性高校,收藏了大量珍贵的县志和地方文献资源。这些资源不仅是学术研究的重要参考,更是地方文化传承的宝贵财富。然而,传统的县志管理模式面临着诸多挑战:
- 资源分散管理:县志资料分散在图书馆、档案馆和各部门,缺乏统一管理平台
- 借阅流程繁琐:纸质借阅需要人工登记,效率低下且容易出错
- 捐赠渠道不畅:校友和社会人士的捐赠意愿难以有效对接
- 数据价值未挖掘:借阅记录和资源使用情况缺乏系统分析
针对这些问题,我们基于Django框架开发了这套县志捐赠与借阅信息管理系统。系统设计之初,我们走访了图书馆管理人员、历史系教师和学生用户,收集到以下核心需求:
- 多角色协同管理:需要支持管理员、捐赠者、普通用户(师生)等不同角色的权限控制
- 全流程数字化:从捐赠登记、资料编目到借阅归还的全流程线上管理
- 移动端适配:考虑到师生使用习惯,系统需要良好支持手机端操作
- 数据分析功能:能够统计热门资源、借阅趋势等关键指标
提示:在系统设计阶段,我们特别注重权限控制的粒度划分。例如,普通用户只能查看公开县志的元数据,而捐赠者可以查看自己捐赠记录的状态变更。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计
2.1 整体架构设计
系统采用经典的MVT(Model-View-Template)架构模式,这是Django框架的核心设计理念。与传统MVC模式相比,Django的MVT将控制器逻辑分散到了框架内部和视图层中,使得开发更加高效。
后端技术栈:
- Python 3.10 + Django 4.2 LTS
- MySQL 8.0 作为主数据库
- Redis 6.2 用于缓存和会话管理
- Celery 5.2 处理异步任务(如生成捐赠证书PDF)
前端技术栈:
- HTML5 + CSS3 + JavaScript (ES6)
- Bootstrap 5 响应式框架
- jQuery 3.6 简化DOM操作
- DataTables 插件用于表格展示
2.2 数据库设计
考虑到县志数据的特点,我们设计了以下核心表结构:
python复制# 县志基本信息模型
class CountyChronicle(models.Model):
ISBN = models.CharField(max_length=20, unique=True)
title = models.CharField(max_length=200)
publish_year = models.IntegerField()
publisher = models.CharField(max_length=100)
physical_location = models.CharField(max_length=50) # 实体存放位置
digital_copy = models.FileField(upload_to='digital_books/', null=True)
