Создание Login Api с пользовательской моделью пользователя django с определенными мною полями username и emp_password

Аутентификация по пользовательской модели не работает для меня Мне нужно переопределить поле пароля по умолчанию с моим определением поля emp_password, потому что в базе данных я уже создал пользователей с их паролями с именем поля emp_password. Я пытаюсь сопоставить имя пользователя и пароль с полем emp_password таблицы сотрудников. Я пытаюсь это сделать уже 2 дня и все еще застрял в этой проблеме. Пожалуйста, помогите мне, спасибо заранее. Позвольте поделиться с вами кодом

models.py

Здравствуйте всем, пользовательская модель аутентификации пользователя не работает для меня Мне нужно переопределить поле пароля по умолчанию с моим определением поля emp_password, потому что в базе данных я уже создал пользователей с их паролями с именем поля emp_password. Я пытаюсь сопоставить свое имя пользователя и пароль с полем emp_password таблицы сотрудников и если все работает, то сделать login api для входа сотрудников. Позвольте поделиться с вами кодом

models.py

settings.py


AUTH_USER_MODEL = "login_app.Employee"

Запомнить уже созданные таблицы

urls.py

from django.contrib import admin
from django.urls import path

from .views import ExampleView, UserLoginApiView
urlpatterns = [
    path('api/',ExampleView.as_view()),
    path('', UserLoginApiView.as_view()),
]   

from rest_framework.response import Response
from rest_framework.views import APIView
from rest_framework.settings import api_settings
from rest_framework.authentication import TokenAuthentication
from rest_framework.authtoken.views import ObtainAuthToken

class ExampleView(APIView):
    # authentication_classes = [SessionAuthentication, BasicAuthentication]
    # permission_classes = [IsAuthenticated]
    authentication_classes = [TokenAuthentication]

    def get(self, request, format=None):
        content = {
            'user': str(request.user),  # `django.contrib.auth.User` instance.
            'auth': str(request.auth),  # None
        }
        return Response(content)
    
    def post(self, request, format=None):
        print("request,", request['username'])
        content = {
            'user': str(request.user),  # `django.contrib.auth.User` instance.
            'auth': str(request.auth),  # None
        }
        return Response(content)




class UserLoginApiView(ObtainAuthToken):
    """ user login api """
    renderer_classes = api_settings.DEFAULT_RENDERER_CLASSES

    

Вернуться на верх