Я не знаю, как вернуть токен, если пользователь присутствует в моей базе данных. У меня есть Модель пользователя с полями логина и пароля, и я создал несколько пользователей с сайта администратора dajn go. В URL я зарегистрировал slug:
path('api-token/', AuthToken, name = 'api-token')
Класс токенов Auth выглядит так (это пример из документации по остальным фреймворкам).
class AuthToken(ObtainAuthToken):
def post(self, request, *args, **kwargs):
serializer = self.serializer_class(data=request.data,
context={'request': request})
serializer.is_valid(raise_exception=True)
user = serializer.validated_data['user']
token, created = Token.objects.get_or_create(user=user)
return Response({
'token': token.key,
})
Я хочу проверить, существует ли пользователь в mu sql -lite база данных и, если так, вернуть токен. К сожалению, я не понимаю этот код. Может кто-нибудь объяснить мне, что он делает и как я могу изменить его в соответствии с моими требованиями.
Другая проблема заключается в том, что у меня есть представление пользователя, которое возвращает пользователей из моей базы данных
class UserView(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
Это Зарегистрировано таким образом
router = routers.DefaultRouter()
router.register('users', views.UserView)
urlpatterns = [
path('',include(router.urls)),
]
Это сработает? Я не уверен, потому что нет проверки, если кто-то передал токен и если токен правильный