проблемы перекрестного доступа - django 2.1.7 - PullRequest
0 голосов
/ 22 февраля 2019

Я прошел буквально все SO-ссылки, переустановил django и django-cors-headers и проследовал this до T, и все же мы получаем

до пересечения ошибок из-за источникане допускается

Django версия 2.1.7

соответствующие разделы settings.py

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

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    'corsheaders.middleware.CorsPostCsrfMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
CORS_ORIGIN_ALLOW_ALL = True

1 Ответ

0 голосов
/ 22 февраля 2019

CorsMiddleware следует размещать как можно выше, особенно перед любым промежуточным программным обеспечением, которое может генерировать ответы, такими как CommonMiddleware Django или WhiteNoiseMiddleware Whitenoise.Если это не так, не сможет добавить заголовки CORS к этим ответам .

MIDDLEWARE = [

    'corsheaders.middleware.CorsMiddleware',        # <-- should be at the top

    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'corsheaders.middleware.CorsPostCsrfMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...