Запрос не получается из url во время применения промежуточного ПО (даже при входе в систему)

У меня есть проект Django, включающий rest API.

После того, как я добавил промежуточное ПО в свой проект, я не могу получить доступ к своему api через модули запросов, хотя я вошел в систему. но доступ возможен, когда я ввожу адрес в url.

middlewares.py

from django.http import HttpResponseRedirect
from django.contrib import messages

LOGIN_EXEMPT_URLS = [
    '/api/',
]


class LoginMiddleWare:
    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        if not request.user.is_authenticated and request.path not in LOGIN_EXEMPT_URLS:
            messages.error(request, 'You should login first!', 'warning')
            return HttpResponseRedirect('/api/')
        response = self.get_response(request)
        return response

settings.py

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'djangoProject_app.middlewares.LoginMiddleWare',
]

Я считаю, что вам нужно добавить эти 3 строки кода:

MIDDLEWARE = [
    `corsheaders.middleware.CorsMiddleware`, <---
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'djangoProject_app.middlewares.LoginMiddleWare',
]

CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
Вернуться на верх