feat: add CamelCase rendering for JSON responses
This commit is contained in:
parent
33b448f59c
commit
b4e7cfdab0
5 changed files with 29 additions and 4 deletions
|
|
@ -56,6 +56,7 @@ INSTALLED_APPS = [
|
||||||
'django.contrib.staticfiles',
|
'django.contrib.staticfiles',
|
||||||
'rest_framework',
|
'rest_framework',
|
||||||
'corsheaders',
|
'corsheaders',
|
||||||
|
'djangorestframework_camel_case',
|
||||||
'task_app',
|
'task_app',
|
||||||
'user_app',
|
'user_app',
|
||||||
]
|
]
|
||||||
|
|
@ -73,6 +74,15 @@ MIDDLEWARE = [
|
||||||
|
|
||||||
ROOT_URLCONF = 'join.urls'
|
ROOT_URLCONF = 'join.urls'
|
||||||
|
|
||||||
|
REST_FRAMEWORK = {
|
||||||
|
'DEFAULT_RENDERER_CLASSES': (
|
||||||
|
'djangorestframework_camel_case.render.CamelCaseJSONRenderer',
|
||||||
|
),
|
||||||
|
'DEFAULT_PARSER_CLASSES': (
|
||||||
|
'djangorestframework_camel_case.parser.CamelCaseJSONParser',
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
TEMPLATES = [
|
TEMPLATES = [
|
||||||
{
|
{
|
||||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
asgiref==3.8.1
|
asgiref==3.8.1
|
||||||
Django==5.1.7
|
Django==5.1.7
|
||||||
|
django-cors-headers==4.7.0
|
||||||
djangorestframework==3.15.2
|
djangorestframework==3.15.2
|
||||||
|
djangorestframework-camel-case==1.4.2
|
||||||
sqlparse==0.5.3
|
sqlparse==0.5.3
|
||||||
|
|
@ -37,4 +37,4 @@ class AssignedTask(models.Model):
|
||||||
user = models.ForeignKey(User, related_name="assigned_tasks", on_delete=models.CASCADE)
|
user = models.ForeignKey(User, related_name="assigned_tasks", on_delete=models.CASCADE)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f"{self.user.username} assigned to {self.task.title}"
|
return f"{self.user.email} assigned to {self.task.title}"
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
from djangorestframework_camel_case.render import CamelCaseJSONRenderer
|
||||||
|
from djangorestframework_camel_case.parser import CamelCaseJSONParser
|
||||||
from .models import Task, SubTask, AssignedTask
|
from .models import Task, SubTask, AssignedTask
|
||||||
|
|
||||||
class SubTaskSerializer(serializers.ModelSerializer):
|
class SubTaskSerializer(serializers.ModelSerializer):
|
||||||
|
|
@ -21,4 +23,7 @@ class TaskSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Task
|
model = Task
|
||||||
fields = ['id', 'title', 'description', 'category', 'priority', 'status', 'date',
|
fields = ['id', 'title', 'description', 'category', 'priority', 'status', 'date',
|
||||||
'creator', 'created_at', 'subtasks', 'assignees']
|
'creator', 'created_at', 'subtasks', 'assignees']
|
||||||
|
|
||||||
|
renderer_classes = [CamelCaseJSONRenderer]
|
||||||
|
parser_classes = [CamelCaseJSONParser]
|
||||||
|
|
@ -1,7 +1,15 @@
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers, viewsets
|
||||||
from .models import User
|
from .models import User
|
||||||
|
from djangorestframework_camel_case.parser import CamelCaseJSONParser
|
||||||
|
from djangorestframework_camel_case.render import CamelCaseJSONRenderer
|
||||||
|
|
||||||
class UserSerializer(serializers.ModelSerializer):
|
class UserSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = User
|
model = User
|
||||||
fields = ['id', 'uId', 'first_name', 'last_name', 'email', 'phone', 'initials', 'color', 'status', 'last_login']
|
fields = ['id', 'uId', 'first_name', 'last_name', 'email', 'phone', 'initials', 'color', 'status', 'last_login']
|
||||||
|
|
||||||
|
class UserViewSet(viewsets.ModelViewSet):
|
||||||
|
serializer_class = UserSerializer
|
||||||
|
queryset = User.objects.all()
|
||||||
|
parser_classes = [CamelCaseJSONParser]
|
||||||
|
renderer_classes = [CamelCaseJSONRenderer]
|
||||||
Loading…
Reference in a new issue