Django Ajax Cookie not set

Can't send post request using fetch. Despite all the settings, I keep getting 403 error (Cookie not set).

Here are the settings in settings.py:

#CORS SETTINGS
CORS_ALLOW_CREDENTIALS = True
CSRF_USE_SESSIONS = False
CSRF_COOKIE_HTTPONLY = False
CSRF_COOKIE_SECURE = False

CORS_ORIGIN_WHITELIST = [
    "http://localhost",
    "http://localhost:8080",
    "http://127.0.0.1:8000",
    "htpp://127.0.0.1"
]

INSTALLED_APPS = [
    'mainapp',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'corsheaders'
]

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'
]

Here is a views.py:

def create_article(request):
    if request.method == "GET":
        return render(request, "mainapp/create_article.html")
    else:
        body_unicode = request.body.decode("utf-8")
        body = json.loads(body_unicode)
        article = body["article"]
        Article(title=article.title, text=article.text, pub_date=datetime.datetime.now()).save()

        return HttpResponseRedirect("http://localhost:8000/")

Here is a fetch request:

fetch(createUrl, {
    method: "POST",
    credentials: "include",
    headers: { "Content-Type": "application/json", "X-CSRFToken": getCsrfFromPage(), 'X-Requested-With': 'XMLHttpRequest' },
    body: {
        title,
        text,
        csrfmiddlewaretoken: getCsrfFromPage()
    },
    mode: "cors"
});

Ответы (0 шт):