# sushe **Repository Path**: ren-chenghao/sushe ## Basic Information - **Project Name**: sushe - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-24 - **Last Updated**: 2026-01-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 高校宿舍管理系统 ## 项目简介 高校宿舍管理系统是一款基于Django 5.0框架开发的综合性宿舍管理平台,专为高校宿舍管理场景设计。系统采用模块化架构,支持学生、宿管和管理员三种角色,提供完整的宿舍管理解决方案,包括学生信息管理、宿舍分配、报修处理、卫生检查、访客登记、公告发布、选房配置等核心功能。 ## 技术栈 ### 前端技术 - HTML5 / CSS3 - JavaScript (ES6+) - Bootstrap 5 - jQuery 3.x - 响应式设计 ### 后端技术 - Python 3.8+ - Django 5.0.2 - MySQL 8.0 - pandas 2.2.0 (数据处理) - openpyxl 3.1.2 (Excel文件处理) - matplotlib 3.8.2 (数据可视化) - Pillow 10.2.0 (图像处理) ### 数据库 - MySQL 8.0 (主数据库) - 支持UTF-8编码 - 事务支持 ## 系统功能特性 ### 1. 用户认证与权限管理 (user_auth) - **多角色权限控制**:学生、宿管、管理员三种角色,权限隔离 - **安全认证机制**:基于Django内置认证系统,支持密码验证 - **角色验证**:登录时验证用户角色,防止越权访问 - **密码管理**:支持密码重置,密码强度验证 - **个人信息管理**:用户可查看和修改个人基本信息 - **操作日志记录**:记录所有用户登录、登出操作 ### 2. 学生管理模块 (student_app) - **个人信息管理**:查看和编辑个人基本信息、联系方式 - **宿舍信息查询**:查看分配的宿舍、室友信息、床位号 - **在线选房**:基于选房规则的学生自主选房功能 - **报修服务**:在线提交报修申请,上传故障图片,跟踪处理进度 - **退宿申请**:提交退宿申请,查看审核状态 - **调宿申请**:申请宿舍调换,等待管理员审核 - **卫生检查**:查看所在宿舍的卫生检查记录和评分 - **失物招领**:发布寻物/招领信息,支持图片上传 - **公告查看**:查看面向学生的通知公告 - **历史记录**:查看个人入住/退宿历史 ### 3. 宿管管理模块 (manager_app) - **楼宇管理**:管理负责楼宇的宿舍信息,添加/编辑/删除宿舍 - **学生管理**:查看负责楼宇的学生信息,添加/编辑学生 - **卫生检查**:录入宿舍卫生检查记录,支持评分和整改期限设置 - **报修处理**:处理学生报修申请,更新处理状态,记录处理结果 - **访客管理**:访客登记、离宿登记,支持身份证验证 - **设施管理**:记录楼宇设施异常情况(功能开发中) - **公告管理**:发布和管理公告,支持定向发送(按院系、楼栋) - **申请审核**:审核学生退宿申请、调宿申请 - **个人信息**:宿管个人信息查看和编辑 ### 4. 管理员模块 (admin_app) - **系统概览**:数据统计仪表板,楼宇入住率、报修统计等 - **楼宇管理**:创建、编辑、删除楼宇信息,分配宿管负责人 - **宿舍管理**:全局宿舍信息管理,支持按楼宇筛选 - **学生管理**:学生信息CRUD操作,支持Excel批量导入/导出 - **宿管管理**:宿管人员信息管理,楼宇分配 - **选房规则**:配置学生选房规则,支持按年级、专业定向 - **公告管理**:全局公告管理,支持定向发送 - **数据统计**:多维度数据统计和可视化分析 - **系统日志**:操作日志、系统运行日志、数据变更日志 - **申请审核**:集中审核退宿申请 - **数据导出**:支持多种格式的数据导出功能 ## 环境要求 - **Python**: 3.8 或更高版本 - **Django**: 5.0.2 - **MySQL**: 8.0 数据库 - **pip**: 包管理工具 - **浏览器**: Chrome 90+、Firefox 88+、Safari 14+、Edge 90+ ## 安装与配置 ### 1. 环境准备 确保系统已安装Python 3.8+和MySQL 8.0: ```bash # 检查Python版本 python --version # 检查MySQL版本 mysql --version ``` ### 2. 克隆项目代码 ```bash # 克隆项目到本地 git clone <项目仓库地址> cd dorm_management ``` ### 3. 创建虚拟环境(推荐) ```bash # 创建虚拟环境 python -m venv venv # 激活虚拟环境 # Windows venv\Scripts\activate # Linux/Mac source venv/bin/activate ``` ### 4. 安装依赖包 ```bash pip install -r requirements.txt ``` ### 5. 数据库配置 在 `dorm_management/settings.py` 文件中配置MySQL数据库连接: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'db', # 数据库名称 'USER': 'root', # 数据库用户名 'PASSWORD': 'renchenghao123', # 数据库密码 'HOST': 'localhost', # 数据库主机地址 'PORT': '3306', # 数据库端口 'OPTIONS': { 'charset': 'utf8mb4', # 字符集 }, } } ``` ### 6. 初始化数据库 ```bash # 执行数据库迁移 python manage.py migrate # 创建超级用户(管理员账号) python manage.py createsuperuser ``` ### 7. 启动开发服务器 ```bash python manage.py runserver ``` 服务器启动后,可通过浏览器访问 http://localhost:8000 进入系统。 ### 8. 默认账号信息 - **管理员账号**: 通过 `createsuperuser` 命令创建 - **学生账号**: 学号作为用户名,默认密码 123456 - **宿管账号**: 工号作为用户名,默认密码 123456 ## 项目结构 ``` dorm_management/ ├── manage.py # Django项目管理脚本 ├── requirements.txt # 项目依赖列表 ├── dorm_management/ # 项目主配置目录 │ ├── __init__.py │ ├── settings.py # 全局设置文件 │ ├── urls.py # 全局URL路由配置 │ └── wsgi.py # WSGI接口配置 ├── user_auth/ # 用户认证应用 │ ├── __init__.py │ ├── models.py # 自定义用户模型 │ ├── views.py # 登录/登出/密码重置视图 │ ├── forms.py # 登录/密码重置表单 │ ├── urls.py # 用户认证URL配置 │ └── migrations/ # 数据库迁移文件 ├── student_app/ # 学生功能应用 │ ├── __init__.py │ ├── models.py # 学生信息/报修/退宿/调宿/失物招领模型 │ ├── views.py # 学生相关视图函数 │ ├── forms.py # 学生相关表单 │ ├── urls.py # 学生应用URL配置 │ └── migrations/ # 数据库迁移文件 ├── manager_app/ # 宿管功能应用 │ ├── __init__.py │ ├── models.py # 宿管信息/卫生检查/访客/设施异常/公告模型 │ ├── views.py # 宿管相关视图函数 │ ├── forms.py # 宿管相关表单 │ ├── urls.py # 宿管应用URL配置 │ └── migrations/ # 数据库迁移文件 ├── admin_app/ # 管理员功能应用 │ ├── __init__.py │ ├── models.py # 楼宇/宿舍/日志/选房规则模型 │ ├── views.py # 管理员相关视图函数 │ ├── forms.py # 管理员相关表单 │ ├── urls.py # 管理员应用URL配置 │ ├── log_utils.py # 日志工具函数 │ ├── templatetags/ # 自定义模板过滤器 │ │ ├── __init__.py │ │ └── custom_filters.py │ └── migrations/ # 数据库迁移文件 ├── templates/ # HTML模板文件 │ ├── base.html # 基础模板 │ ├── admin/ # 管理员页面模板 │ │ ├── index.html # 管理员首页 │ │ ├── building_*.html # 楼宇管理页面 │ │ ├── dorm_*.html # 宿舍管理页面 │ │ ├── student_*.html # 学生管理页面 │ │ ├── manager_*.html # 宿管管理页面 │ │ ├── data_statistics.html # 数据统计页面 │ │ ├── system_log.html # 系统日志页面 │ │ └── room_selection_*.html # 选房规则页面 │ ├── manager/ # 宿管页面模板 │ │ ├── index.html # 宿管首页 │ │ ├── dorm_*.html # 宿舍管理页面 │ │ ├── hygiene_*.html # 卫生检查页面 │ │ ├── repair_*.html # 报修处理页面 │ │ ├── visitor_*.html # 访客管理页面 │ │ ├── student_*.html # 学生管理页面 │ │ └── announcement_*.html # 公告管理页面 │ ├── student/ # 学生页面模板 │ │ ├── index.html # 学生首页 │ │ ├── student_info.html # 个人信息页面 │ │ ├── dorm_*.html # 宿舍信息页面 │ │ ├── repair_*.html # 报修申请页面 │ │ ├── checkout_*.html # 退宿申请页面 │ │ ├── room_change_*.html # 调宿申请页面 │ │ ├── lost_and_found_*.html # 失物招领页面 │ │ └── announcements.html # 公告查看页面 │ └── user_auth/ # 认证相关页面模板 │ ├── login.html # 登录页面 │ ├── system_index.html # 系统首页 │ └── reset_password.html # 密码重置页面 ├── static/ # 静态资源文件 │ ├── css/ # 样式文件 │ │ ├── base.css # 基础样式 │ │ ├── responsive.css # 响应式样式 │ │ └── system_index.css # 系统首页样式 │ └── js/ # JavaScript脚本 │ ├── base.js # 基础脚本 │ ├── countdown.js # 倒计时功能 │ ├── mobile.js # 移动端适配 │ └── navigation.js # 导航功能 ├── repair_images/ # 报修图片存储目录 ├── lost_and_found_images/ # 失物招领图片存储目录 └── README.md # 项目说明文档 ``` ## 使用指南 ### 学生角色使用说明 1. **系统登录**:使用学号作为用户名,默认密码123456登录系统 2. **个人信息**:查看和编辑个人基本信息、联系方式 3. **宿舍信息**:查看分配的宿舍、室友信息、床位号 4. **在线选房**:根据选房规则自主选择宿舍(如已配置) 5. **报修服务**:在线提交报修申请,上传故障图片,跟踪处理进度 6. **退宿申请**:提交退宿申请,查看审核状态 7. **调宿申请**:申请宿舍调换,等待管理员审核 8. **卫生检查**:查看所在宿舍的卫生检查记录和评分 9. **失物招领**:发布寻物/招领信息,支持图片上传 10. **公告查看**:查看面向学生的通知公告 11. **历史记录**:查看个人入住/退宿历史 ### 宿管角色使用说明 1. **系统登录**:使用工号作为用户名,默认密码123456登录系统 2. **楼宇管理**:管理负责楼宇的宿舍信息,添加/编辑/删除宿舍 3. **学生管理**:查看负责楼宇的学生信息,添加/编辑学生 4. **卫生检查**:录入宿舍卫生检查记录,支持评分和整改期限设置 5. **报修处理**:处理学生报修申请,更新处理状态,记录处理结果 6. **访客管理**:访客登记、离宿登记,支持身份证验证 7. **设施管理**:记录楼宇设施异常情况(功能开发中) 8. **公告管理**:发布和管理公告,支持定向发送(按院系、楼栋) 9. **申请审核**:审核学生退宿申请、调宿申请 10. **个人信息**:宿管个人信息查看和编辑 ### 管理员角色使用说明 1. **系统登录**:使用管理员账号登录系统 2. **系统概览**:查看数据统计仪表板,楼宇入住率、报修统计等 3. **楼宇管理**:创建、编辑、删除楼宇信息,分配宿管负责人 4. **宿舍管理**:全局宿舍信息管理,支持按楼宇筛选 5. **学生管理**:学生信息CRUD操作,支持Excel批量导入/导出 6. **宿管管理**:宿管人员信息管理,楼宇分配 7. **选房规则**:配置学生选房规则,支持按年级、专业定向 8. **公告管理**:全局公告管理,支持定向发送 9. **数据统计**:多维度数据统计和可视化分析 10. **系统日志**:查看操作日志、系统运行日志、数据变更日志 11. **申请审核**:集中审核退宿申请 12. **数据导出**:支持多种格式的数据导出功能 ## 核心功能详解 ### 数据模型设计 #### 用户模型 (CustomUser) - 扩展Django内置User模型 - 支持学生、宿管、管理员三种角色 - 包含学号、工号、联系方式等字段 #### 学生信息模型 (StudentInfo) - 关联用户模型,包含院系、专业、年级等信息 - 支持宿舍分配、床位管理 - 学生状态管理(在读、毕业、休学) #### 宿舍管理模型 - **楼宇模型 (Building)**:楼宇基本信息、负责人管理 - **宿舍模型 (Dormitory)**:宿舍详细信息、床位管理、状态控制 - **选房规则模型 (RoomSelectionRule)**:学生选房规则配置 #### 业务功能模型 - **报修申请 (RepairRequest)**:学生报修、处理流程、反馈机制 - **退宿申请 (CheckoutRequest)**:退宿申请、审核流程 - **调宿申请 (RoomChangeRequest)**:宿舍调换申请 - **失物招领 (LostAndFound)**:寻物/招领信息管理 - **访客登记 (Visitor)**:访客信息管理 - **卫生检查 (HygieneRecord)**:宿舍卫生检查记录 - **公告管理 (Announcement)**:系统公告,支持定向发送 #### 日志管理模型 - **管理员操作日志 (AdminOperationLog)**:管理员操作记录 - **系统运行日志 (SystemRunningLog)**:系统事件记录 - **数据变更日志 (DataChangeLog)**:关键数据变更历史 ### 权限控制机制 1. **角色隔离**:三种角色权限完全隔离,防止越权访问 2. **功能权限**:基于角色的功能访问控制 3. **数据权限**:宿管只能管理负责楼宇的数据 4. **操作日志**:所有关键操作都有日志记录 ### 数据导入导出 1. **Excel导入**:支持学生信息批量导入 2. **数据导出**:支持多种格式的数据导出 3. **模板下载**:提供标准导入模板 ## 注意事项 1. **数据库准备**:首次运行前,请确保已创建MySQL数据库并配置正确的连接信息 2. **批量导入**:学生信息支持Excel批量导入,导入前请按照系统要求的格式准备数据 3. **权限管理**:系统严格按照角色分配权限,请谨慎修改用户角色 4. **数据备份**:定期备份数据库,以防数据丢失 5. **安全提示**:请勿在公共网络环境下使用默认密码,定期更换登录密码 6. **图片存储**:报修图片和失物招领图片存储在对应目录中 7. **日志管理**:系统会生成大量日志,建议定期清理 ## 常见问题解决 1. **数据库连接失败**:检查MySQL服务是否启动,确认用户名、密码和数据库名配置正确 2. **依赖安装错误**:确保使用的Python版本符合要求,尝试更新pip后重新安装依赖 3. **静态文件加载异常**:运行`python manage.py collectstatic`命令收集静态文件 4. **权限访问问题**:确认当前登录用户角色是否具有相应功能的访问权限 5. **图片上传失败**:检查图片存储目录权限,确保有写入权限 6. **Excel导入失败**:检查Excel文件格式,确保列名与模板一致 7. **选房功能异常**:检查选房规则配置,确保时间范围和楼宇设置正确 ## 开发说明 ### 技术特点 - 采用Django 5.0框架,支持最新特性 - 模块化设计,便于维护和扩展 - 响应式前端设计,支持移动端访问 - 完整的日志记录系统 - 支持数据导入导出功能 ### 扩展建议 1. 添加短信通知功能 2. 集成支付系统 3. 增加移动端APP 4. 添加数据分析功能 5. 集成第三方认证系统 ## 许可证 本项目采用MIT许可证。 ## 联系方式 如有任何问题或建议,请联系: 微信:17538612117 QQ邮箱:3212366828@qq.com