added cors headers to settings file, and changed request.post to json.loads(request.body) for frontend

This commit is contained in:
Madeleine 2026-06-20 18:06:45 -04:00
parent 5448fd9d3c
commit 1fff27c47b
5 changed files with 21 additions and 8 deletions

View file

@ -3,7 +3,7 @@ from django.shortcuts import get_object_or_404
from api.serializers.category import CategorySerializer from api.serializers.category import CategorySerializer
from api.views.base import BaseView from api.views.base import BaseView
from web.models.category import Category from web.models.category import Category
import json
class CategoryView(BaseView): class CategoryView(BaseView):
SERIALIZER = CategorySerializer SERIALIZER = CategorySerializer
@ -17,7 +17,7 @@ class CategoryView(BaseView):
return self._build_multi_response(categories) return self._build_multi_response(categories)
def post(self, request): def post(self, request):
data = request.POST data = json.loads(request.body)
category = Category( category = Category(
name=data.get('name'), name=data.get('name'),
description=data.get('description') description=data.get('description')
@ -27,7 +27,7 @@ class CategoryView(BaseView):
return self._build_response(category) return self._build_response(category)
def put(self, request, category_id): def put(self, request, category_id):
data = request.POST data = json.loads(request.body)
category = get_object_or_404(Category, pk=category_id) category = get_object_or_404(Category, pk=category_id)

View file

@ -1,3 +1,5 @@
import json
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
from api.serializers.event import EventSerializer from api.serializers.event import EventSerializer
@ -13,7 +15,7 @@ class EventView(BaseView):
return self._build_response(event) return self._build_response(event)
def post(self, request): def post(self, request):
data = request.POST data = json.loads(request.body)
event = Event( event = Event(
name=data.get('name'), name=data.get('name'),
description=data.get('description'), description=data.get('description'),
@ -33,7 +35,7 @@ class EventView(BaseView):
return self._build_response(event) return self._build_response(event)
def put(self, request, event_id): def put(self, request, event_id):
data = request.POST data = json.loads(request.body)
event = get_object_or_404(Event, pk=event_id) event = get_object_or_404(Event, pk=event_id)

View file

@ -3,7 +3,7 @@ from django.shortcuts import get_object_or_404
from api.serializers.tag import TagSerializer from api.serializers.tag import TagSerializer
from api.views.base import BaseView from api.views.base import BaseView
from web.models.tag import Tag from web.models.tag import Tag
import json
class TagView(BaseView): class TagView(BaseView):
SERIALIZER = TagSerializer SERIALIZER = TagSerializer
@ -17,7 +17,7 @@ class TagView(BaseView):
return self._build_multi_response(tags) return self._build_multi_response(tags)
def post(self, request): def post(self, request):
data = request.POST data = json.loads(request.body)
tag = Tag( tag = Tag(
name=data.get('name'), name=data.get('name'),
) )
@ -26,7 +26,7 @@ class TagView(BaseView):
return self._build_response(tag) return self._build_response(tag)
def put(self, request, tag_id): def put(self, request, tag_id):
data = request.POST data = json.loads(request.body)
tag = get_object_or_404(Tag, pk=tag_id) tag = get_object_or_404(Tag, pk=tag_id)
tag.name = data.get('name', tag.name) tag.name = data.get('name', tag.name)

View file

@ -32,6 +32,7 @@ ALLOWED_HOSTS = []
# Application definition # Application definition
INSTALLED_APPS = [ INSTALLED_APPS = [
"corsheaders", # add before other apps
"django.contrib.admin", "django.contrib.admin",
"django.contrib.auth", "django.contrib.auth",
"django.contrib.contenttypes", "django.contrib.contenttypes",
@ -44,6 +45,8 @@ INSTALLED_APPS = [
] ]
MIDDLEWARE = [ MIDDLEWARE = [
"corsheaders.middleware.CorsMiddleware", # must be first/near top
"django.middleware.common.CommonMiddleware",
"django.middleware.security.SecurityMiddleware", "django.middleware.security.SecurityMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware", "django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.common.CommonMiddleware", "django.middleware.common.CommonMiddleware",
@ -123,3 +126,9 @@ USE_TZ = True
# https://docs.djangoproject.com/en/6.0/howto/static-files/ # https://docs.djangoproject.com/en/6.0/howto/static-files/
STATIC_URL = "static/" STATIC_URL = "static/"
CORS_ALLOWED_ORIGINS = [
"http://localhost:5173",
"http://127.0.0.1:5173",
]

View file

@ -10,3 +10,5 @@ psycopg-binary==3.3.4
requests==2.34.2 requests==2.34.2
sqlparse==0.5.5 sqlparse==0.5.5
urllib3==2.7.0 urllib3==2.7.0
django-cors-headers==4.0.0