오늘은 장고 심화 과정 중에서도 모델시리얼라이저 활용 하기,포스맨 API 확인해보기 에 대해 공부했다.
처음 들었을 때는 무슨 소리인지 이해가 되지 않아서 힘들었다.
장고복습 과 다른 여러 글들,팀원들에 도움으로 이해는 것이 가능해졌다!
물론 아직 초반이라 그런걸지도 모르지만 확실 하다보니 이해 할 수 있는 부분이 많아 진거같다.
그리고 처음이 조금 복잡해 보여서 그렇지 배워 보니 앞으로 전에 했던 방법보다
훨씬 간결하고 코딩 할때 더 많은 데이터 처리가 가능 해보인다.
이해할수 있는 부분이 많아 질 수록 배우는 재미가있다.
오늘은 배운코드 리뷰해보겠다.
#models.py
from django.db import models
# Create your models here.
class Article(models.Model):
title = models.CharField(max_length =100)
content = models.TextField(null=True, blank=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now =True)
def __str__(self):
return str(self.title)
-----------------------------------------------------------------------
#serialilzers.py# 오늘 배운 내용중 가장 중요한 코드#
from rest_framework import serializers
from articles.models import Article
class ArticleSerializer(serializers.ModelSerializer):
class Meta:
model = Article
fields = "__all__"
-----------------------------------------------------------------------
#views.py
from rest_framework import status
from rest_framework.response import Response
from rest_framework.generics import get_object_or_404
from rest_framework.decorators import api_view
from articles.models import Article
from articles.serializers import ArticleSerializer
# Create your views here.
@api_view(['GET', 'POST'])
def articleAPI(request):
if request.method == "GET":
articles = Article.objects.all()
serializer = ArticleSerializer(articles,many=True)
return Response(serializer.data)
elif request.method == "POST":
serializer = ArticleSerializer(data = request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
else:
print(serializer.errors)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
@api_view(['GET', 'PUT', 'DELETE'])
def articleDetailAPI(request, article_id):
if request.method == "GET":
article = get_object_or_404(Article, id=article_id)
serializer = ArticleSerializer(article)
return Response(serializer.data )
elif request.method == "PUT":
article = get_object_or_404(Article, id=article_id)
serializer = ArticleSerializer(article, data = request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
elif request.method == "DELETE":
article = get_object_or_404(Article, id = article_id)
article.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
'TIL(Daily) > Django' 카테고리의 다른 글
Thu/03/Nov/22 Django-추천 시스템 프로젝트 -2 (0) | 2022.11.04 |
---|---|
Wen/02/Nov/22 Django-추천 시스템 프로젝트 (0) | 2022.11.03 |
Wed/28/Sep/22/ Django-4주차 (0) | 2022.09.28 |
Tue/27/Sep/22- Django 3주차 (0) | 2022.09.27 |
Mon/26/sep/22-Django 3주차 (0) | 2022.09.26 |
댓글