diff --git a/backend/dvadmin/system/views/login.py b/backend/dvadmin/system/views/login.py
index 2aee9a1..a7d567d 100644
--- a/backend/dvadmin/system/views/login.py
+++ b/backend/dvadmin/system/views/login.py
@@ -51,6 +51,7 @@ class CaptchaView(APIView):
         return SuccessResponse(data=json_data)
 
 
+
 class LoginSerializer(TokenObtainPairSerializer):
     """
     登录的序列化器:
@@ -68,7 +69,10 @@ class LoginSerializer(TokenObtainPairSerializer):
     }
 
     def validate(self, attrs):
+        captcha = getattr(attrs,'captcha',None)
         if settings.CAPTCHA_STATE:
+            if captcha is None:
+                raise CustomValidationError("验证码不能为空")
             self.image_code = CaptchaStore.objects.filter(
                 id=self.initial_data['captchaKey']).first()
             five_minute_ago = datetime.now() - timedelta(hours=0, minutes=5, seconds=0)
@@ -76,7 +80,6 @@ class LoginSerializer(TokenObtainPairSerializer):
                 self.image_code and self.image_code.delete()
                 raise CustomValidationError('验证码过期')
             else:
-                captcha = attrs['captcha']
                 if self.image_code and (self.image_code.response == captcha or self.image_code.challenge == captcha):
                     self.image_code and self.image_code.delete()
                 else: