用户管理
本页讲账号的创建、导入与维护。角色与权限模型(超管、学科角色、题目可见性等)见 权限与角色。
用户字段
- 用户名、姓名、头像
is_superuser(超级管理员标记)、is_active(启用状态)last_login、login_count(登录统计)
学科归属与角色不在用户账号上直接设置,而是在「学科管理 → 成员管理」中按学科授予,详见 权限与角色。
常见操作
- 创建用户:超级管理员在用户管理中新建账号并设定角色。
- 批量导入:超级管理员可通过 Excel 一次性创建多个账号,见下文。
- 修改资料:用户可修改自己的资料。
- 修改密码:用户可修改自己的密码。
- 启用 / 停用:管理员可停用账号。
批量导入用户
超级管理员可在「用户管理」页点击 批量导入,通过 Excel 一次性创建多个账号:
下载
.xlsx模板。按模板列填写数据:
列 必填 说明 用户名 ✅ 需唯一,且不能与文件内其他行或已有用户重复 姓名 ✅ 用户全名 密码 ✅ 至少 6 位 管理员 ❌ 填「是」创建为管理员,留空为普通用户 上传文件(仅支持
.xlsx,最大 5MB)。系统逐行校验并入库,随后返回成功数量与逐行失败明细,可一键复制错误信息,修正后重新导入。
TIP
合法行会立即创建,个别错误行不会影响其他行;重复上传时已存在的用户名会被跳过并在明细中提示。
自助注册
默认关闭。超级管理员可在 系统参数 的「注册设置」中开启:
- 开放自助注册:开启后登录页出现「立即注册」入口,访客可自行创建账号(仅普通用户,无法自助成为管理员)。
- 注册需管理员审核:开启后新注册账号默认停用(
is_active=false),需管理员在用户管理中启用后方可登录。
首次初始化
初始化分为两个相互独立的阶段,向导会根据当前状态自动从对应步骤开始:
- 数据库:仅当未配置数据库(没有环境变量
DB_URL,也没有config.json)时出现。选择数据库类型(SQLite / MySQL)并校验连接,随后运行迁移并保存配置。 - 首个超级管理员:只要数据库已就绪、但系统中还没有启用的超级管理员,就会出现。与数据库如何配置无关。
因此:
- 桌面版:通过托盘「打开题库」进入向导,依次完成两步。
- Docker / 服务器版:数据库已由
DB_URL提供,首次打开网页会直接进入「创建管理员」步骤。
在完成初始化之前,除向导外的所有接口都返回 503,登录、注册等页面也不可用。
也可以用命令行脚本创建超管(会创建 admin / password,登录后请立即修改密码):
bash
docker compose exec backend python scripts/create_superuser.py至少保留一个超级管理员
系统禁止删除、取消超管或停用最后一个启用的超级管理员。如果绕过界面直接改库导致没有启用的超管,下次访问会重新进入「创建管理员」向导。