数据管理页面的完善

This commit is contained in:
DSQ
2026-03-12 17:08:49 +08:00
parent b4cea89796
commit 462c744d06
4 changed files with 18 additions and 119 deletions

View File

@@ -272,43 +272,7 @@ def register_submit(request):
del request.session["email_verify"]
except Exception:
pass
# 修改:注册成功后跳转到完善班级信息页面
return JsonResponse({"ok": True, "redirect_url": f"/accounts/class-info/?user_id={next_id}"})
@require_http_methods(["GET"])
@ensure_csrf_cookie
def class_info_page(request):
user_id = request.GET.get("user_id")
if not user_id:
return redirect("/accounts/register/")
return render(request, "accounts/class_info.html", {"user_id": user_id})
@require_http_methods(["POST"])
@csrf_protect
def class_info_submit(request):
try:
payload = json.loads(request.body.decode("utf-8"))
except json.JSONDecodeError:
return HttpResponseBadRequest("Invalid JSON")
user_id = payload.get("user_id")
class_name = (payload.get("class_name") or "").strip()
if not user_id or not class_name:
return HttpResponseBadRequest("Missing fields")
# 后端校验2024级**专业*班
import re
pattern = r"^\d{4}级.+专业\d+班$"
if not re.match(pattern, class_name):
return JsonResponse({"ok": False, "message": "班级格式不正确"}, status=400)
# 更新用户信息,将班级信息存入 key 列表
ok = update_user_by_id(user_id, key=[class_name])
if not ok:
return JsonResponse({"ok": False, "message": "保存班级信息失败"}, status=500)
return JsonResponse({"ok": True})
return JsonResponse({"ok": True, "redirect_url": "/accounts/login/"})
@require_http_methods(["POST"])
@csrf_protect