系统需求分析
目标用户:高校教师、学生及工作室管理员
核心功能:
- 任务发布与分配(支持多角色权限)
- 进度跟踪与提醒(Deadline 预警)
- 文件共享与版本控制
- 数据统计与可视化(如任务完成率)
技术对比:
- Flask 轻量级,适合快速开发小型系统;Django 全栈框架,内置 ORM 和 Admin,适合复杂权限管理。
技术选型与环境配置
后端框架:
- Flask(微型框架)或 Django(全功能框架)
- 数据库:SQLite(开发)/MySQL(生产)
前端技术:
- 基础模板:Jinja2(Flask/Django 通用)
- 交互增强:Ajax + jQuery 或 Vue.js 集成
开发工具:
- PyCharm 专业版(支持 Django 调试)
- 虚拟环境:venv 或 pipenv
数据库设计
关键表结构(以 Django ORM 为例):
class Task(models.Model):
title = models.CharField(max_length=100)
description = models.TextField()
deadline = models.DateTimeField()
status_choices = [('pending', '待处理'), ('completed', '已完成')]
status = models.CharField(max_length=20, choices=status_choices)
creator = models.ForeignKey(User, on_delete=models.CASCADE, related_name='created_tasks')
assignee = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, related_name='assigned_tasks')
关系说明:
- 多对多:用户与任务组(通过中间表实现)
- 文件存储:使用 Django 的 FileField 或第三方库(如 django-storages)
核心功能实现
Flask 示例(路由与视图):
@app.route('/task/create', methods=['POST'])
@login_required
def create_task():
form = TaskForm(request.form)
form.validate():
task = Task(title=form.title.data, creator=current_user)
db.session.add(task)
db.session.commit()
jsonify({: })


