Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

from django.contrib.auth import authenticate 

from rest_framework import serializers 

 

 

class AuthTokenSerializer(serializers.Serializer): 

    username = serializers.CharField() 

    password = serializers.CharField() 

 

    def validate(self, attrs): 

        username = attrs.get('username') 

        password = attrs.get('password') 

 

        if username and password: 

            user = authenticate(username=username, password=password) 

 

            if user: 

                if not user.is_active: 

                    raise serializers.ValidationError('User account is disabled.') 

                attrs['user'] = user 

                return attrs 

            else: 

                raise serializers.ValidationError('Unable to login with provided credentials.') 

        else: 

            raise serializers.ValidationError('Must include "username" and "password"')