먼저 커스텀을 안하고 기본 simple-jwt를 사용하는 상태에서 로그인 할 때 아이디나 비밀번호를 틀린다면?
이런 메세지가 return 되는데 솔직히 이건 사용자 입장에서는 무슨소리지... 할 것이다.
그래서 이걸 커스텀 해 보았다.
먼저 serializers.py에 해당 코드를 추가한다.
class CustomTokenObtainPairSerializer(TokenObtainPairSerializer): # jwt payload 커스텀
username_field = get_user_model().USERNAME_FIELD
token_class = RefreshToken
default_error_messages = {"no_active_account": _("아이디 or 비밀번호를 확인해주세요. ")}
다음 views.py에서 새로 정의한 seriazlier를 정의해준다.
class CustomTokenObtainPairView(TokenObtainPairView): # jwt payload 커스텀
serializer_class = CustomTokenObtainPairSerializer
다음 urls.py에서도 view를 재정의해준다.
from django.urls import path
from users import views
from rest_framework_simplejwt.views import (
TokenObtainPairView,
TokenRefreshView,
)
urlpatterns = [
path('', views.UserView.as_view(), name='user_view'),
path('api/token/', views.CustomTokenObtainPairView.as_view(), name='token_obtain_pair'),
]
이렇게 하고 나면 커스텀된 error_message가 출력된다,
'WIL' 카테고리의 다른 글
14주차 WIL (0) | 2022.12.15 |
---|---|
12주차 WIL (장고 ORM) (0) | 2022.11.20 |
11주차 WIL (0) | 2022.11.13 |
10주차 WIL (0) | 2022.11.07 |
9주차 WIL (RESTful API란?) (0) | 2022.10.30 |