首页 > 解决方案 > 如何在Django中获取令牌和用户名

问题描述

当我使用 API 时,我在 django 中使用 auth API 获得令牌,就像我在 django 中使用 createsuperuser 创建我的用户名和密码一样

http://127.0.0.1:8000/auth/           [POST METHOD]

令牌

{
    "token": "5f8ceaaaeef845bef8474e28192a174d3214124"
}

我想要我的令牌响应

{
    "username":"Gem",
    "token": "5f8ceaaaeef845bef8474e28192a174d3214124"
}

怎么变成这样?

我的 Views.py 代码

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = {'id', 'username', 'password'}
        extra_kwargs = { 'password':{'write_only': True, 'required': True} }

from django.shortcuts import render
from backendPractices.models import Enquiry, EnquiryUtil
from backendPractices.serialize import Users
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status, permissions
from rest_framework.decorators import api_view, permission_classes
from datetime import datetime
from rest_framework.authentication import TokenAuthentication
from rest_framework.permissions import IsAuthenticated, AllowAny
import json

@api_view(['GET'])
def index(request):
    date = datetime.now().strftime("%d/%m/%Y %H:%M:%S")
    message = "clock in server "
    return Response (data = message + date, status = status.HTTP_200_OK)

class Crud(APIView):
    # get all
    def get(self, request):
        UsersData = Enquiry.objects.all().order_by('dateBooked')
        Obj = Users(UsersData, many=True)
        responsedata = Obj.data
        return Response(responsedata)

序列化程序.py

from rest_framework import serializers
from backendPractices.models import Enquiry
from django.contrib.auth.models import User
from rest_framework.authtoken.models import Token

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = {'id', 'username', 'password'}
        extra_kwargs = { 'password':{'write_only': True, 'required': True} }


class Users(serializers.ModelSerializer):
    class Meta:
        model = Enquiry
        fields = "__all__"

标签: pythondjangodjango-rest-frameworkdjango-admindjango-authentication

解决方案


推荐阅读