Ho una configurazione locale Django come segueDjango Localhost CORS non funziona
Django Rest Framework
: localhost:8000
AngularJS frontend
: local apache running on http://localservername
Ho installato django-cors-headers
e nel mio settings.py
, ho installato il mio
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',
)
Tuttavia, ottengo un No 'Access-Control-Allow-Origin' header is present on the requested resource.
errore ogni volta che colpisco qualsiasi API che viene servita da Rest Framework
. Se imposto lo CORS_ORIGIN_ALLOW_ALL = True
, le API funzionano correttamente, ma ciò è altamente insicuro per i miei dati lato server.
Cosa devo modificare per risolvere questo problema?
Hai aggiunto 'corsheaders.middleware.CorsMiddleware' prima di' django.middleware.common.CommonMiddleware 'e' corsheaders' nel tuo 'INSTALLED_APPS'? –
@DaniilRyzhkov, Sì, lo aggiungo alla mia domanda – Newtt
@HamletHakobyan, Non importa in quanto le mie richieste provengono da "localservername' a' localhost: 8000' – Newtt