Django Rest FrameWork
Python, 파이썬
JSON 처리 | import json myData = { "squadName": "Super hero squad", "homeTown": "Metro City", "formed": 2016, "secretBase": "Super tower", "active": True, "members": [ { "name": "Molecule Man", "age": 29, "secretIdentity": "Dan Jukes", "powers": [ "Radiation resistance", "Turning tiny", "Radiation blast" ] } ] } print(type(myData)) # <class 'dict'> myDataJson = json.dumps(myData) print(type(myDataJson)) # <class 'str'> myDataReturn = json.loads(myDataJson) print(type(myDataReturn)) # <class 'dict'> |
ModelSerializer 를 통한 JSON 직렬화 설명 | 1) ModelSerializer 를 통해 JSONRenderer 에서 변환가능한 형태로 먼저 데이터를 변환 참조1) JSON 을 생성하는 Serializer 는 html 을 생성하는 Django.Form 과 유사 참조2) Serializer 는 Django.Form 과 유사, ModelSerializer = DJango.ModelForm 과 유사 |
ModelSerializer 를 통한 JSON 직렬화 예제 | 참조) https://ssungkang.tistory.com/entry/Django-django-rest-framework-%EB%A5%BC-%EC%9C%84%ED%95%9C-JSON-%EC%A7%81%EB%A0%AC%ED%99%94?category=320582 # models.py from django.db import models class Post(models.Model): title = models.CharField(max_length=100) message = models.TextField() created_at = models.DateTimeField(auto_now_add=True) update_at = models.DateTimeField(auto_now=True) # serializers.py from rest_framework import serializers from .models import Post class PostSerializer(serializers.ModelSerializer): class Meta: model = Post fields = '__all__' # config/urls.py from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('core/', include('core.urls'), name='core'), ] # core/urls.py from django.urls import path, include from rest_framework.routers import DefaultRouter from . import views router = DefaultRouter() router.register(r'posts', views.PostViewSet) urlpatterns = [ path('', include(router.urls)), ] # views.py from django.shortcuts import render from rest_framework import viewsets from .models import Post from .serializers import PostSerializer class PostViewSet(viewsets.ModelViewSet): queryset = Post.objects.all() serializer_class = PostSerializer serializer = PostSerializer(post) serializer.data # {'id': 2, 'title': '제목 내용', 'message': '메세지 내용', 'created_at': '2019-11-18T18:52:57.489893Z', 'update_at': '2019-11-18T19:22:53.717588Z'} |
'Python, 파이썬' 카테고리의 다른 글
DJango 의 장점 (0) | 2020.02.12 |
---|---|
DJango.ORM (0) | 2020.02.12 |
기본문법 (0) | 2020.02.06 |
DJango (Windows) (0) | 2020.01.31 |
설치.DJango + Redis + Celery (0) | 2020.01.29 |