Как решить ошибки django и angular cors
Я разрабатываю приложение и получил эту ошибку:
Доступ к XMLHttpRequest по адресу 'https://subdomain.domain.org/api/parks/?page_size=6&page_number=1' из origin ''https://subdomain.domain.org' был заблокирован политикой CORS: Ответ на предварительный запрос не проходит проверку контроля доступа: На запрошенном ресурсе отсутствует заголовок 'Access-Control-Allow-Origin'.
Django Config
setting.py:
INSTALLED_APPS = [
...
'corsheaders',
...
]
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
...
]
ALLOWED_HOSTS = ['app_name-backend.herokuapp.com']
CORS_ALLOWED_ORIGINS = [
'https://app_name-frontend.herokuapp.com',
'https://subdomain.domain.org',
]
CORS_ALLOW_ALL_ORIGINS = False
Запросы по ангулярам
service.ts:
getParks(filters: any=null, parameters:any=null): Observable<any> {
...
var httpHeaders = new HttpHeaders();
httpHeaders.set('Content-Type', 'application/json');
httpHeaders.set('Access-Control-Allow-Origin', '*');
var requestUrl = this.baseServiceUrl + this.serviceUrl;
return this.httpClient.get<any>(requestUrl, { params: httpParams, headers: this.httpHeaders })
.pipe(
...
),
catchError(this.handleError<Park[]>('Park getParks', []))
);
}
Передний и задний хостинг размещены на heroku
Есть идеи, как это исправить? Заранее спасибо.
Добавьте этот блок в settings.py
CORS_ORIGIN_WHITELIST = (
'https://app_name-frontend.herokuapp.com',
'https://subdomain.domain.org',
)