Я пытаюсь создать конечную точку, когда пользователь вошел в систему, чтобы проверить статус пользователя, вошедшего в систему реагировать js. Для моего бэкэнда я использую django rest-framework. Вот код бэкенда.
serializers.py:
from rest_framework import serializers;
from rest_framework_jwt.settings import api_settings
from django.contrib.auth.models import User
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('username',)
# handle signups only
class UserSerializerWithToken(serializers.ModelSerializer):
token = serializers.SerializerMethodField()
password = serializers.CharField(write_only=True)
def get_token(self, obj):
jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER
payload = jwt_payload_handler(obj)
token = jwt_encode_handler(payload)
return token
def create(self, validated_data):
password = validated_data.pop('password', None)
inst = self.Meta.model(**validated_data)
if password is not None:
inst.set_password(password)
inst.save()
return inst
class Meta:
fields = ('token', 'username', 'password')
urls.py: следующий код - это место, где я бы создал конечную точку
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from rest_framework_jwt.views import obtain_jwt_token
from rest_framework_jwt.views import verify_jwt_token
urlpatterns = [
path('api-auth/', include('rest_framework.urls')),
# path('rest-auth/', include('rest_auth.urls')),
# path('rest-auth/registration/', include('rest_auth.registration.urls')),
path('token-auth/', obtain_jwt_token),
path('api-token-verify/', verify_jwt_token),
path('login/', include('login.urls')),
path('admin/', admin.site.urls),
path('api/', include('menus.api.urls')),
path('phlogapi/', include('phlogfeeder.phlogapi.urls'))
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Я запутался в том, как создать конечную точку с помощью jwt.