У меня есть локальная установка Django следующим образомДжанго Localhost CORS не работает
Django Rest Framework
: localhost:8000
AngularJS frontend
: local apache running on http://localservername
Я установил django-cors-headers
и в моем settings.py
, Я насторить
CORS_ORIGIN_WHITELIST = (
'http://localhost',
'localservername',
'http://localservername',
'127.0.0.1'
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
Однако, я получаю No 'Access-Control-Allow-Origin' header is present on the requested resource.
всякий раз, когда я ударяю любой API, который подается с Rest Framework
. Если я установил CORS_ORIGIN_ALLOW_ALL = True
, то работа API будет работать правильно, но это очень небезопасно для моих данных на стороне сервера.
Что мне нужно изменить, чтобы исправить это?
Вы добавили 'corsheaders.middleware.CorsMiddleware' прямо перед' django.middleware.common.CommonMiddleware 'и' corsheaders' в 'INSTALLED_APPS'? –
@ ДаниилРыжков, да, я добавлю это на свой вопрос – Newtt
@HamletHakobyan, это не имеет значения, так как мои запросы от 'localservername' до' localhost: 8000' – Newtt