В моем проекте django метод post отображается как Not allowed. Почему?
Это мой класс CustomToken в views.py
class CustomTokenObtainPairSerializer(TokenObtainPairSerializer):
username_field = 'email'
def validate(self, attrs):
credentials = {
'email': attrs.get('email'),
'password': attrs.get('password')
}
print("Credentials:", credentials)
print("Attrs:", attrs)
user = authenticate(**credentials)
if user:
if not user.is_active:
raise exceptions.AuthenticationFailed('User is deactivated')
data = {}
refresh = self.get_token(user)
data['refresh'] = str(refresh)
data['access'] = str(refresh.access_token)
return data
else:
raise exceptions.AuthenticationFailed('No active account found with the given credentials')
class CustomTokenObtainPairView(TokenObtainPairView):
serializer_class = CustomTokenObtainPairSerializer
Это мой urls.py
:
urlpatterns = [
path('', include(router.urls)),
path('token/', CustomTokenObtainPairView.as_view(), name='token_obtain_pair'),
path('register/', UserCreateView.as_view(), name='register'),
path('token/refresh/', jwt_views.TokenRefreshView.as_view(), name='token_refresh'),
]
это мой settings.py
:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework_simplejwt.authentication.JWTAuthentication',
],
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.AllowAny',
),
}
всякий раз, когда я пытаюсь сделать запрос к пользователю/токену/, я получаю такой ответ:
Method Not Allowed: /users/register/
[06/Jun/2024 00:57:45] "POST /users/register/ HTTP/1.1" 405 41
.... или иногда я получаю :
{
"detail": "Authentication credentials were not provided."
}
Unauthorized: /users/token/
[06/Jun/2024 00:42:40] "POST /users/token/ HTTP/1.1" 401 58
Unauthorized: /users/token/
[06/Jun/2024 00:42:45] "POST /users/token/ HTTP/1.1" 401 58
Может ли кто-нибудь объяснить, что здесь не так? Спасибо.....