Cuando el sitio A desea acceder al contenido de otro sitio B, se denomina solicitud de origen cruzado. Como está deshabilitado por razones de seguridad, B envía un encabezado Access-Control-Allow-Origin en la respuesta. De forma predeterminada, un dominio no puede acceder a una API alojada en otro dominio. Si queremos permitir que se acceda a nuestra API REST (por ejemplo, backend) alojada en nuestra aplicación Django desde otras aplicaciones (por ejemplo, front-end) alojadas en otro servidor, debemos habilitar CORS (Cross-Origin Resource Sharing).
Pasos para permitir CORS en su Proyecto Django –
1. Instale django-cors-headers usando PIP:
pip install django-cors-headers
2. Agregue corsheaders a la sección de aplicaciones instaladas en el archivo settings.py:
INSTALLED_APPS = [ ... 'corsheaders', ... ]
3. Agregue corsheaders.middleware.CorsMiddleware a la sección de middleware en el archivo settings.py:
MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', ... 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'corsheaders.middleware.CorsMiddleware', ]
4. Si desea permitir el acceso a todos los dominios, establezca la siguiente variable en TRUE en el archivo settings.py:
CORS_ORIGIN_ALLOW_ALL = True
Alternativamente, puede especificar a qué dominios desea dar acceso haciendo lo siguiente en el archivo settings.py:
CORS_ORIGIN_ALLOW_ALL = False CORS_ORIGIN_WHITELIST = ( 'http://localhost:8000', )
¡Eso es todo! Ahora su API es accesible para otras aplicaciones alojadas en otros servidores seleccionados.
Publicación traducida automáticamente
Artículo escrito por sundaramgupta y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA