{% extends 'base.html' %} {% block title %}班级花名册 - {{ get_app_name() }}{% endblock %} {% block styles %} {{ super() }} {% endblock %} {% block content %}

班级花名册

{{ total }} 名学生 · {{ grouped|length }} 个班级 {% if strict_assistants %} · 当前有 {{ strict_assistants }} 个 AI 导师启用了花名册校验{% endif %}

下载模板 {% if total %} 导出 Excel
{% endif %}
自由填写模式 — 班级选项 仅 AI 导师为「自由填写」模式时生效;学生从下拉中选班级,不再手填
当前:{% if class_options_count %}已启用({{ class_options_count }} 个班级){% else %}未配置(学生仍需手填班级){% endif %}
每行一组。带年级 写:高一: 1班, 2班, 3班不带年级(单层下拉)每行写一个班级,例如直接写 三年(1)班。多个班级之间用中英文逗号或顿号都行。
{% if class_options_count %} {% endif %}
{% if class_options_count %} {% endif %} {% if class_options %}
当前已生效的下拉选项:
{% set _grouped = {} %} {% for o in class_options %} {% set _key = o.grade or '__no_grade__' %} {% set _ = _grouped.setdefault(_key, []).append(o) %} {% endfor %} {% for grade, items in _grouped.items() %}
{% if grade != '__no_grade__' %}{{ grade }}:{% endif %} {% for it in items %} {{ it.class_name }} {% endfor %}
{% endfor %}
{% endif %}
批量导入

支持 .xlsx / .xls / .csv;表头需要包含「班级」「姓名」两列,可选「学号」「备注」。

手动添加
{% if grouped %} {% for class_name, items in grouped.items() %}
{{ class_name }} {{ items|length }} 人
{% for e in items %} {% endfor %}
姓名 学号 备注 操作
{{ e.student_name }} {{ e.student_no or '—' }} {{ e.notes or '' }}
{% endfor %} {% else %}
还没有学生

下载模板填好后批量导入,或在上方手动添加;启用花名册校验后学生只能从下拉中选择身份。

下载花名册模板
{% endif %}
{% endblock %}