чтобы выйти из системы, вы должны реализовать viewset.
, если вы используете базовую аутентификацию токена, просто удалите токен
from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
class Logout(APIView):
def get(self, request, format=None):
# simply delete the token to force a login
request.user.auth_token.delete()
return Response(status=status.HTTP_200_OK)
, если вы используете бэкэнд аутентификации сеанса, вы должны выйти из системы с бэкэндами Django, такими какthis:
from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
from django.contrib.auth import logout
class Logout(APIView):
def get(self, request, format=None):
# using Django logout
logout(request)
return Response(status=status.HTTP_200_OK)
затем в URL:
urlpatterns = [
...
url(r'^logout/', Logout.as_view()),
]
в вашем угловом компоненте должен вызвать Ajax-запрос к этому представлению перед удалением очистки содержимого локального хранилища