¿Cómo habilitar los encabezados CORS en su proyecto Django?

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *