use return

This commit is contained in:
2025-03-09 21:44:35 +08:00
parent fa3dd701ea
commit 54b337173a
3 changed files with 10 additions and 9 deletions

View File

@@ -20,7 +20,7 @@ router = Router()
@router.post("/register") @router.post("/register")
def user_register(request, payload: UserRegistrationSchema): def user_register(request, payload: UserRegistrationSchema):
if User.objects.filter(username=payload.username).exists(): if User.objects.filter(username=payload.username).exists():
raise HttpError(400, "用户已存在") return HttpError(400, "用户已存在")
User.objects.create_user( User.objects.create_user(
username=payload.username, username=payload.username,
email=payload.email, email=payload.email,
@@ -36,13 +36,14 @@ def user_login(request, payload: UserLoginSchema):
login(request, user) login(request, user)
return {"username": user.username, "role": user.role} return {"username": user.username, "role": user.role}
else: else:
raise HttpError(401, "账号密码错误") return HttpError(401, "账号密码错误")
@router.post("/logout") @router.post("/logout")
@login_required @login_required
def user_logout(request): def user_logout(request):
logout(request) logout(request)
return {"message": "退出成功"}
@router.get("/profile") @router.get("/profile")
@@ -77,7 +78,7 @@ def batch_create(request, payload: BatchUsersIn):
usernames.append(username) usernames.append(username)
existing_users = User.objects.filter(username__in=usernames) existing_users = User.objects.filter(username__in=usernames)
if existing_users.exists(): if existing_users.exists():
raise HttpError(400, "有些用户已经存在,创建失败") return HttpError(400, "有些用户已经存在,创建失败")
for username in usernames: for username in usernames:
digits = [str(random.randint(2, 9)) for _ in range(6)] digits = [str(random.randint(2, 9)) for _ in range(6)]
@@ -101,4 +102,4 @@ def toggle_user_is_active(request, id: int):
"message": f"{user.username} {'解封' if user.is_active else '封号'}成功" "message": f"{user.username} {'解封' if user.is_active else '封号'}成功"
} }
except User.DoesNotExist: except User.DoesNotExist:
raise HttpError(404, "查无此人") return HttpError(404, "查无此人")

View File

@@ -11,12 +11,12 @@ def _require(roles):
@wraps(func) @wraps(func)
def wrapper(request, *args, **kwargs): def wrapper(request, *args, **kwargs):
if not request.user.is_authenticated: if not request.user.is_authenticated:
raise HttpError(401, "用户未登录") return HttpError(401, "用户未登录")
try: try:
if request.user.role not in roles: if request.user.role not in roles:
raise HttpError(403, "你没有权限") return HttpError(403, "你没有权限")
except User.DoesNotExist: except User.DoesNotExist:
raise HttpError(404, "用户不存在") return HttpError(404, "用户不存在")
return func(request, *args, **kwargs) return func(request, *args, **kwargs)
return wrapper return wrapper

View File

@@ -24,7 +24,7 @@ def get(request, display: int):
try: try:
return Tutorial.objects.get(display=display) return Tutorial.objects.get(display=display)
except Tutorial.DoesNotExist: except Tutorial.DoesNotExist:
raise HttpError(404, "此序号无教程") return HttpError(404, "此序号无教程")
@router.post("/") @router.post("/")
@@ -52,7 +52,7 @@ def toggle_public(request, display: int):
label = "公开" if item.is_public else "隐藏" label = "公开" if item.is_public else "隐藏"
return {"message": f"{item.display}{item.title}{label}"} return {"message": f"{item.display}{item.title}{label}"}
except Tutorial.DoesNotExist: except Tutorial.DoesNotExist:
raise HttpError(404, "此序号无教程") return HttpError(404, "此序号无教程")
@router.delete("/{display}") @router.delete("/{display}")