🎓
中航未来教育集团

招生管理系统
使 用 说 明 书

Zhaosheng Management System — User Manual

8+
功能模块
15
校区分发
4
渠道对接
39+
API路由
V2.0 · Django 6.0 · 2026 秋季招生
点击任意处开始阅读
CHAPTER 01 📋

系统概述

📌 项目基本信息

中航未来教育集团招生管理系统(zhaosheng_django),基于 Django 6.0.5 框架开发,采用 MariaDB 数据库,通过 Apache 反向代理 + Waitress WSGI 方式部署,覆盖日常名单处理、业绩管理、周报分析、数据可视化全流程。

项目详情
项目名称中航未来教育集团招生管理系统
技术栈Django 6.0.5 + MariaDB + Waitress + Apache
数据库2026mmc(PyMySQL 连接)
Python3.13.x(虚拟环境 .venv / venv)
生产地址生产 http://localhost:8080/zhaosheng/
开发地址开发 http://127.0.0.1:8000/zhaosheng/
后台管理/zhaosheng/admin/ (admin / admin123)

🏗️ 系统架构图

🌐 浏览器
Apache :80
🚦 Apache 反向代理
⚡ Waitress WSGI
127.0.0.1:8000 · 8线程
🗄️ MariaDB
数据库 2026mmc
📧 IMAP 邮件服务
vip.163.com:993
💡
多项目共存:同一服务器运行两个项目——query(PHP查询系统)和 zhaosheng(Django招生系统),共享 2026mmc 数据库。
CHAPTER 02 🧩

功能模块

八大核心功能模块,覆盖招生数据从采集、处理到分析展示的全生命周期管理。

📊
Dashboard 仪表盘
全景数据看板。基础统计卡片、四渠道名单统计、周报汇总表格、渠道分布饼图、月度&周趋势折线图、顾问TOP15排名、校区学生分布柱状图。
路径:/zhaosheng/dashboard/
🗺️
全国招生态势大屏
基于ECharts中国地图的可视化大屏,展示各省份招生数据分布。支持轮播模式,适合电视屏幕展示。
地图:/zhaosheng/dashboard/map/
轮播:/zhaosheng/dashboard/slideshow/
👨‍🎓
学生业绩管理
Student模型核心管理(22字段)。自定义列显示持久化、动态分页(10/20/50/100条/页)、多维度筛选搜索、Excel模板下载与导入(按姓名+身份证去重更新)。
后台:/zhaosheng/admin/performance/student/
📬
每日数据处理
三步完成日常名单处理:①邮件附件自动下载②数据清洗处理③智能分发。支持Web端一键操作或命令行手动运行。
页面:/zhaosheng/dailywork/
📈
周报管理
按校区+年份+周次记录周报数据。Excel批量导入、漏斗分析转化率计算、省份来源分析、渠道对比分析。
导入:/zhaosheng/import/weekly/
页面:/zhaosheng/dashboard/weekly-report/
📋
综合分析报告
多维度数据分析与可视化。周报汇总、漏斗分析、省份来源、渠道分析、校区对比、PDF报告导出(ReportLab)。
报告:/zhaosheng/report/
月报:/zhaosheng/monthly-report/
🏆
顾问排名
咨询顾问业绩排行榜。按定金/面试/金额排序,按校区/角色筛选。PC端和移动端独立模板,移动端手风琴交互。
PC:/zhaosheng/ranking/
移动:/zhaosheng/ranking/?mobile=1
⚙️
系统配置管理
校区管理(目标/外包标记)、月度目标批量导入、用户角色管理、操作日志审计、校区-省份白名单/黑名单配置。
配置:/zhaosheng/api/campus-config/
CHAPTER 03 🔄

核心操作流程

1
📥 下载邮件附件
系统通过IMAP连接163邮箱,自动从4个渠道发件人邮箱获取当日邮件中的Excel附件并下载到本地目录。也可在每日工作页面点击「邮件下载」按钮触发。
# 命令行方式python email_download.py --date 2026-06-05 # 测试模式(只列出不下载) python email_download.py --test # 默认下载前一天的附件 python email_download.py
2
🔧 数据清洗处理
读取4个渠道(五洲育人/美联星空/智途教育/育路教育)的Excel文件,进行数据清洗、去重(按手机号),合并生成统一格式的日报文件。
注意:美联星空渠道手机号在「电话」列(整型),需特殊处理序号/日期等干扰列。
# 处理指定日期(生成分发前日报)python daily_import.py --date 2026-06-05 --skip-distribute # 测试模式(只统计不保存) python daily_import.py --test
3
📤 分发到各校区
根据 campus_config.json 的校区-省份配置规则,将日报数据按渠道和省份分发到对应校区的Excel文件。当前共15个校区:6单渠道 + 1双渠道(川外重庆) + 8全渠道。上海立达排除黑吉辽云赣五省。
# 只执行分发(从已有日报读取)python daily_import.py --date 2026-06-05 --distribute-only # 完整流程(处理 + 分发) python daily_import.py --date 2026-06-05
⚠️
重要提醒:关键表(如 2026ydate)数据破坏后难以复原,操作前请确认备份!测试时务必隔离原始数据。

📊 四渠道信息对照表

渠道名称发件邮箱联系人/备注
五洲育人yuren_2008@188.com中航--郭玉峰
育路教育yuloo2008@vip.163.com
智途教育hkxy0530@126.com中航未来
美联星空xhl2016@vip.126.com手机号在「电话」列(整型),需删干扰列
1
📥 下载导入模板
在后台管理 → 业绩管理页面下载 Excel 导入模板(含数据验证下拉框),按照模板格式填写学生数据。
2
✏️ 填写学生数据
Student模型共22个字段:姓名、性别、籍贯、身份证、父母电话、自用电话、微信、面试时间、定金时间、定金金额、报到日期、报到状态、校区、顾问、渠道、上报人等。必填字段请确保完整。
3
📤 上传导入
上传填写好的Excel文件,系统按姓名+身份证进行去重判断:已存在则更新,不存在则新增。导入完成后可查看处理结果。

👨‍🎓 Student模型关键字段

分类字段说明
身份student_name / gender / native_place / id_card姓名、性别、籍贯、身份证
联系father_phone / mother_phone / self_phone / wechat父亲/母亲/本人电话、微信
业务interview_date / deposit_date / deposit_amount / report_date / report_status面试时间、定金时间/金额、报到
归属campus / consultant / channel / reporter校区(FK)、顾问(FK)、渠道
批次import_batch / created_at导入批次、创建时间
1
📊 准备周报Excel
按模板格式准备每周各校区的周报数据。每条记录包含:校区、年、周次、起止日期、累计/本周 来校/面试/定金 数量。
2
📤 批量导入
进入后台 → 周报管理 → 上传Excel文件导入。约束条件:(campus, year, week_number) 唯一,重复数据会自动更新。
3
📈 查看分析
在仪表盘或周报独立页面查看数据图表,支持漏斗分析(来校→面试→定金转化率)、省份来源分析、渠道对比、校区横向对比。
1
🚀 启动服务
使用批处理脚本一键启动Waitress服务,或通过Python脚本启动开发/生产服务器。
# 方式一:一键启动启动服务.bat # 方式二:开发环境 python start_server.py # 方式三:生产模式(Windows服务) python start_production.py # 方式四:简化启动 python run_server.py
2
⏹️ 停止服务
停止Waitress进程释放端口资源。
停止服务.bat python server_manager.py stop
3
🔄 重启 & 安装为服务
修改模板或配置后需重启服务使更改生效。可安装为Windows服务实现开机自启。
python server_manager.py restart python service_manager.py install
💡
提示:修改任何Django模板后必须重启Waitress才能生效。生产环境建议安装为Windows服务并设开机自启动。
CHAPTER 04 🗃️

数据模型

系统涉及的核心数据库表与Django ORM模型一览。共 10 张核心表分布在 performance 和 dailywork 两个App下。

模型数据库表说明所属App
SystemUsersystem_user系统用户(用户名/密码/角色/状态)performance
Campuscampus校区管理(名称/代码/目标/外包标记)performance
Consultantconsultant顾问管理(姓名/校区/角色/星级/目标)performance
Studentstudent★ 学生业绩(22字段,核心表)performance
WeeklyReportweekly_report周报(校区/年/周次/累计&本周数据)performance
MonthlyTargetmonthly_target月度目标(校区/年/月/各项目标)performance
OperationLogoperation_log操作日志审计performance
UserPreferenceuser_preference用户偏好设置(JSON存储列配置等)performance
CampusProvinceConfigcampus_province_config校区-省份-渠道配置(白名单/黑名单)dailywork
2026ydate2026ydate⚠️ 原始每日名单(Raw SQL,谨慎!)dailywork

👥 用户角色权限体系

角色说明权限范围
admin 管理员超级管理员全部功能权限
chief 总监招生总监管理权限 + 报告查看
director 招办主任招办主任管理权限
manager 经理部门经理受限权限
consultant 顾问咨询顾问前台查看权限
CHAPTER 05 🚀

部署指南

🖥️
一键启动(推荐)
双击根目录下的 启动服务.bat 即可快速启动开发环境服务。适合日常开发调试使用。
Waitress 开发模式
8线程,监听 0.0.0.0:8000,支持外部访问。
python start_server.py
🏭
生产模式
Windows服务封装(PyWin32),4线程,仅本地访问,Apache反向代理对外暴露。
python start_production.py
🔧
服务管理工具
提供 start/stop/restart/status 子命令及 install 安装Windows服务。
python server_manager.py
1
💾 数据库备份
定期备份数据库到 backups/ 目录,自动压缩为zip并清理7天前的旧备份。
python backup_db.py
2
🔄 静态文件收集
修改CSS/JS/图片后需要重新收集静态文件到 staticfiles/ 目录。
python manage.py collectstatic
3
📝 年份切换
每年招生季开始前修改 settings.py 中的 CURRENT_ENROLLMENT_YEAR 参数。
CURRENT_ENROLLMENT_YEAR = 2026 # 改为当年

⚙️ 关键业务参数

参数说明
CURRENT_ENROLLMENT_YEAR2026当前招生年份(每年需改)
ENROLLMENT_MONTHS[4,5,6,7,8,9]招生月份范围
REPORT_STATS_ENABLEDFalse报到统计开关(9/10改为True)
CACHE_TTL300缓存有效期(秒)
DEBUGTrue调试模式(生产改False)
🔴
8000端口被占用
用 netstat 查看,结束冲突进程后重启。
netstat -ano | findstr :8000
🔴
页面显示空白
模板语法错误或静态文件未收集。检查浏览器控制台,运行 collectstatic 并重启。
🟠
数据不更新
缓存未过期(默认5分钟TTL)。可临时清除缓存或等待刷新。
🟠
邮件下载失败
授权码过期、网络不通或IMAP不可达。163授权码有效期有限。
🟢
地图/大屏无数据
检查 china.json 是否正确加载,API是否返回数据。用F12查看Network请求。
🟢
分发结果为0
检查 campus_config.json 配置和渠道名匹配。先用 --test 验证。
CHAPTER 06 🔗

API 路由速查

所有可用URL路由一览,共计 39+ 条路由。

路径名称功能
/zhaosheng/index首页(自动检测移动端)
/zhaosheng/index_mobile/index_mobile移动端首页
/zhaosheng/dashboard/dashboard仪表盘主页
/zhaosheng/dashboard/map/dashboard_map全国招生态势地图大屏
/zhaosheng/dashboard/slideshow/slideshow大屏轮播展示
/zhaosheng/ranking/ranking顾问排名(PC端)
/zhaosheng/report/report综合分析报告
/zhaosheng/monthly-report/monthly月度报告
/zhaosheng/stats/stats数据统计页
/zhaosheng/management/management多模块管理页
/zhaosheng/admin/adminDjango Admin后台
路径方法返回
/zhaosheng/api/enrollment/GET招生统计数据
/zhaosheng/api/stats/GET各校区统计对比
/zhaosheng/api/report/weekly/GET周报汇总数据
/zhaosheng/api/report/weekly/funnel/GET漏斗分析(转化率)
/zhaosheng/api/report/weekly/province/GET省份来源分析
/zhaosheng/api/report/weekly/channel/GET渠道分析
/zhaosheng/api/report/weekly/campus/GET校区对比分析
/zhaosheng/api/report/pdf/GETPDF报告导出
/zhaosheng/api/campus-config/GET/POST校区配置列表/更新
/.../student/api/columns/GET/POST列配置读写
路径方法功能权限
/zhaosheng/dailywork/GET每日工作后台页面staff
.../import-ydate/POST2026ydate原始数据导入staff
.../api/email-download/POST触发邮件附件下载staff
.../api/data-process/POST触发数据处理staff
.../api/data-distribute/POST触发数据分发到校区staff
.../api/campus-config/update/POST更新校区省份配置staff
.../api/campus-config/toggle/POST启用/禁用校区staff
.../api/campus-config/sync/POST从Campus表同步新校区staff
CHAPTER 07

常见问题

高频问题快速解答,帮你快速定位和解决常见困扰。

Q: 修改了模板为什么没效果?
A: 必须重启Waitress服务才能加载新模板。运行 停止服务.bat 再运行 启动服务.bat
Q: 美联星空渠道为什么总是0条?
A: 渠道名匹配问题——原始可能是"美联星空+姓名",脚本只匹配"美联星空"。且手机号在"电话"列(整型),需删干扰列。
Q: 如何新增一个校区?
A: ① Admin后台添加Campus → ② 每日工作页面点"同步校区" → ③ 配置省份白名单/黑名单。
Q: 数据可以撤销吗?
A: 2026ydate等关键表破坏难以复原。建议先运行 backup_db.py 备份。测试务必隔离原始数据。
Q: 移动端怎么访问?
A: 系统支持PWA模式,移动端自动跳转移动版。已部署Capacitor Android应用,支持离线缓存。
Q: 大屏轮播怎么用?
A: 访问 /zhaosheng/dashboard/slideshow/ 进入全屏轮播模式,适合投放到电视屏幕循环展示。
CHAPTER 08 📊

项目开发进度

各功能模块的完成情况一览,持续迭代优化中。

Dashboard仪表盘 & 图表95%
95%
每日数据处理 & 校区分发90%
90%
学生业绩管理(CRUD)92%
92%
周报管理与数据分析78%
78%
地图大屏 & DataV可视化75%
75%
PDF报告导出65%
65%
校区省份配置 & 同步85%
85%

📖 结语

本系统由中航未来教育集团招生团队自主研发维护,持续迭代优化中。如有疑问或建议,欢迎反馈交流。