Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

i use https://django-rest-framework-simplejwt.readthedocs.io/en/latest/

i have such code

User = get_user_model()

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    bio = models.TextField()
    ROLE_CHOICES = [
        ('U', 'User'),
        ('M', 'Moderator'),
        ('A', 'Admin'),
    ]
    role = models.CharField(max_length=1, choices=ROLE_CHOICES, default='U')
    confirmation_code = models.CharField(max_length=30)

And i want to get JWT token, here is my urls

path("v1/token/", views.EmailTokenObtainPairView.as_view(), name="token_obtain_pair")

i need send such POST query

http://127.0.0.1:8000/api/v1/token/

with data :

{ 'email': email, 'confirmation_code': confirmation_code }

but by default in simple-jwt i need to send data :

{'username' : username, 'password':password }

in my serializer.py

class CustomTokenObtainPairSerializer(TokenObtainPairSerializer):
    username_field = User.EMAIL_FIELD

in my views.py

class EmailTokenObtainPairView(TokenObtainPairView):
    serializer_class = CustomTokenObtainPairSerializer

i have done to chane username on email, bun i can not chane password on confirmation_code

how can i change default way ?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
260 views
Welcome To Ask or Share your Answers For Others

1 Answer


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...