diff --git a/api/views/category.py b/api/views/category.py index 5a3927b..ba94fe3 100644 --- a/api/views/category.py +++ b/api/views/category.py @@ -3,7 +3,7 @@ from django.shortcuts import get_object_or_404 from api.serializers.category import CategorySerializer from api.views.base import BaseView from web.models.category import Category - +import json class CategoryView(BaseView): SERIALIZER = CategorySerializer @@ -17,7 +17,7 @@ class CategoryView(BaseView): return self._build_multi_response(categories) def post(self, request): - data = request.POST + data = json.loads(request.body) category = Category( name=data.get('name'), description=data.get('description') @@ -27,7 +27,7 @@ class CategoryView(BaseView): return self._build_response(category) def put(self, request, category_id): - data = request.POST + data = json.loads(request.body) category = get_object_or_404(Category, pk=category_id) diff --git a/api/views/event.py b/api/views/event.py index 5aba7c4..58143fb 100644 --- a/api/views/event.py +++ b/api/views/event.py @@ -1,3 +1,5 @@ +import json + from django.shortcuts import get_object_or_404 from api.serializers.event import EventSerializer @@ -13,7 +15,7 @@ class EventView(BaseView): return self._build_response(event) def post(self, request): - data = request.POST + data = json.loads(request.body) event = Event( name=data.get('name'), description=data.get('description'), @@ -33,7 +35,7 @@ class EventView(BaseView): return self._build_response(event) def put(self, request, event_id): - data = request.POST + data = json.loads(request.body) event = get_object_or_404(Event, pk=event_id) diff --git a/api/views/tag.py b/api/views/tag.py index 9075a3e..b876732 100644 --- a/api/views/tag.py +++ b/api/views/tag.py @@ -3,7 +3,7 @@ from django.shortcuts import get_object_or_404 from api.serializers.tag import TagSerializer from api.views.base import BaseView from web.models.tag import Tag - +import json class TagView(BaseView): SERIALIZER = TagSerializer @@ -17,7 +17,7 @@ class TagView(BaseView): return self._build_multi_response(tags) def post(self, request): - data = request.POST + data = json.loads(request.body) tag = Tag( name=data.get('name'), ) @@ -26,7 +26,7 @@ class TagView(BaseView): return self._build_response(tag) def put(self, request, tag_id): - data = request.POST + data = json.loads(request.body) tag = get_object_or_404(Tag, pk=tag_id) tag.name = data.get('name', tag.name) diff --git a/localist/settings.py b/localist/settings.py index 2221e40..2134291 100644 --- a/localist/settings.py +++ b/localist/settings.py @@ -32,6 +32,7 @@ ALLOWED_HOSTS = [] # Application definition INSTALLED_APPS = [ + "corsheaders", # add before other apps "django.contrib.admin", "django.contrib.auth", "django.contrib.contenttypes", @@ -44,6 +45,8 @@ INSTALLED_APPS = [ ] MIDDLEWARE = [ + "corsheaders.middleware.CorsMiddleware", # must be first/near top + "django.middleware.common.CommonMiddleware", "django.middleware.security.SecurityMiddleware", "django.contrib.sessions.middleware.SessionMiddleware", "django.middleware.common.CommonMiddleware", @@ -123,3 +126,9 @@ USE_TZ = True # https://docs.djangoproject.com/en/6.0/howto/static-files/ STATIC_URL = "static/" + + +CORS_ALLOWED_ORIGINS = [ + "http://localhost:5173", + "http://127.0.0.1:5173", +] \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 7f2c383..d04606f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,3 +10,5 @@ psycopg-binary==3.3.4 requests==2.34.2 sqlparse==0.5.5 urllib3==2.7.0 +django-cors-headers==4.0.0 +