From e9403fea689f7af9d7fec473bb8be805d0b32003 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Krop=C3=A1=C4=8Dek?= Date: Tue, 11 Feb 2025 20:05:00 +0100 Subject: [PATCH] added corsheaders --- .env.example | 5 ++++- services/backend/backend/settings.py | 10 ++++++++-- services/backend/pyproject.toml | 1 + services/backend/uv.lock | 15 +++++++++++++++ 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/.env.example b/.env.example index 77cfaa1..a63b409 100644 --- a/.env.example +++ b/.env.example @@ -4,4 +4,7 @@ DATABASE_PASSWORD= DATABASE_HOST=postgres DATABASE_PORT=5432 -DJANGO_ENV= \ No newline at end of file +DJANGO_ENV= + +BACKEND_URL=localhost:8000 +FRONTEND_URL=localhost:3000 diff --git a/services/backend/backend/settings.py b/services/backend/backend/settings.py index dac435c..19c8548 100644 --- a/services/backend/backend/settings.py +++ b/services/backend/backend/settings.py @@ -62,11 +62,13 @@ INSTALLED_APPS = [ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', - "debug_toolbar", + 'debug_toolbar', 'rest_framework', + 'corsheaders', ] MIDDLEWARE = [ + 'corsheaders.middleware.CorsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', @@ -74,7 +76,7 @@ MIDDLEWARE = [ 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', - "debug_toolbar.middleware.DebugToolbarMiddleware", + 'debug_toolbar.middleware.DebugToolbarMiddleware', ] ROOT_URLCONF = 'backend.urls' @@ -153,3 +155,7 @@ STATIC_URL = 'static/' # https://docs.djangoproject.com/en/5.1/ref/settings/#default-auto-field DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' + +CORS_ALLOWED_ORIGINS = [ + env.str("FRONTEND_URL", "http://localhost:3000"), +] \ No newline at end of file diff --git a/services/backend/pyproject.toml b/services/backend/pyproject.toml index 1eea697..b50f327 100644 --- a/services/backend/pyproject.toml +++ b/services/backend/pyproject.toml @@ -14,6 +14,7 @@ dependencies = [ "django-debug-toolbar>=5.0.1", "django-environ>=0.12.0", "wait-for-it>=2.3.0", + "django-cors-headers>=4.7.0", ] [tool.uv] diff --git a/services/backend/uv.lock b/services/backend/uv.lock index da7a1f1..82b4ca4 100644 --- a/services/backend/uv.lock +++ b/services/backend/uv.lock @@ -30,6 +30,7 @@ version = "0.1.0" source = { virtual = "." } dependencies = [ { name = "django" }, + { name = "django-cors-headers" }, { name = "django-debug-toolbar" }, { name = "django-environ" }, { name = "djangorestframework" }, @@ -41,6 +42,7 @@ dependencies = [ [package.metadata] requires-dist = [ { name = "django", specifier = ">=5.1.5" }, + { name = "django-cors-headers", specifier = ">=4.7.0" }, { name = "django-debug-toolbar", specifier = ">=5.0.1" }, { name = "django-environ", specifier = ">=0.12.0" }, { name = "djangorestframework", specifier = ">=3.15.2" }, @@ -84,6 +86,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/11/e6/e92c8c788b83d109f34d933c5e817095d85722719cb4483472abc135f44e/Django-5.1.5-py3-none-any.whl", hash = "sha256:c46eb936111fffe6ec4bc9930035524a8be98ec2f74d8a0ff351226a3e52f459", size = 8276957 }, ] +[[package]] +name = "django-cors-headers" +version = "4.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asgiref" }, + { name = "django" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/93/6c/16f6cb6064c63074fd5b2bd494eb319afd846236d9c1a6c765946df2c289/django_cors_headers-4.7.0.tar.gz", hash = "sha256:6fdf31bf9c6d6448ba09ef57157db2268d515d94fc5c89a0a1028e1fc03ee52b", size = 21037 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/a2/7bcfff86314bd9dd698180e31ba00604001606efb518a06cca6833a54285/django_cors_headers-4.7.0-py3-none-any.whl", hash = "sha256:f1c125dcd58479fe7a67fe2499c16ee38b81b397463cf025f0e2c42937421070", size = 12794 }, +] + [[package]] name = "django-debug-toolbar" version = "5.0.1"