김묭의 자기개발

최종 프로젝트 - 2일차 본문

내일배움캠프/최종 프로젝트

최종 프로젝트 - 2일차

포령 2023. 6. 8. 11:01

<진행 상황>

1. 프론트

index.html
my_diary.html
<진행 상황> 1. 프론트 index.html my_diary.html

2. 백엔드

# views.py
# 계획표 페이지
class DetailPlanPageView(APIView):
    def get(self, request, plan_id):
        plan = get_object_or_404(PlanPage, id=plan_id)
        serializer = PlanSerializer(plan)
        return Response(serializer.data, status=status.HTTP_200_OK)

    def patch(self, request, plan_id):
        plan = get_object_or_404(PlanPage, id=plan_id)
        serializer = PlanSerializer(plan, data=request.data, partial=True)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_200_OK)
        else:
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    def delete(self, request, plan_id):
        plan = get_object_or_404(PlanPage, id=plan_id)
        plan.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)
# models.py
class PlanPage(models.Model):
    note = models.ForeignKey("Note", on_delete=models.CASCADE)
    category = models.CharField(max_length=100)
    date = models.DateField(auto_now_add=True)
    place = models.CharField(max_length=100)
    location = models.CharField(max_length=255)
    time = models.CharField(max_length=255)
    memo = models.CharField(max_length=100)
    is_active = models.BooleanField(default=True)
# serializers.py
class PlanSerializer(serializers.ModelSerializer):
    class Meta:
        model = PlanPage
        fields = "__all__"
        extra_kwargs = {
            "note": {"required": False},
        }
  • is_active : status를 활용해 4가지 상태로 분류할 예정!
  • delete메소드에는 완전삭제가 아닌 Status변경으로 수정할 예정!

<배포 상황>

route53
ec2
RDS

배포 url : http://miyeong.net

'내일배움캠프 > 최종 프로젝트' 카테고리의 다른 글

최종프로젝트 - 8일차  (0) 2023.06.16
최종프로젝트 - 5일차  (0) 2023.06.12
최종 프로젝트 - 4일차  (0) 2023.06.10
최종 프로젝트 - 3일차  (2) 2023.06.10
최종 프로젝트 1일  (0) 2023.06.06