_won_
wonprogrammer
_won_
전체 방문자
오늘
어제
  • 분류 전체보기
    • woncoding
      • TIL
      • WIL
    • source Code
      • Python
      • Programmers
      • BAEKJOON

블로그 메뉴

  • 방명록

티스토리

Github · Wonprogrammer
hELLO · Designed By 정상우.
_won_

wonprogrammer

TIL | 12.22.목 [DRF ↔️ JS CRUD]
woncoding/TIL

TIL | 12.22.목 [DRF ↔️ JS CRUD]

2022. 12. 25. 19:41

- Django Rest Framework

Front JS CRUD

 

[Method : PUT]

serialize에서 받아올 정보를 구현 하고, views.py에서 method를 정의해 준뒤,

프론트에서 어떤 URL에서 어떤 method를 받아와 정보를 줄건지 설정해준다.

 

여기서 PUT은 serializers.py에서 요구된 모든 정보를 보내주지 않아도 수정이 가능하다.

 

예를 들어)

class UserChrSerializer(serializers.ModelSerializer):
    class Meta:
        model = UserChr
        fields = ["mbti", "age", "gender"]
        read_only_fields = ['user',]

 

 

class UserChrChangeView(APIView):
    def put(self, request, user_id):
        user = get_object_or_404(UserChr, user_id=user_id)
        check_serializer = UserChrSerializer(user, data=request.data)
        if check_serializer.is_valid():
            check_serializer.save()
            return Response({"message":"수정완료!"}, status=status.HTTP_200_OK)

 

serializers.py에서 fields가 3개지만

 

JS에서

async function userMbtiUpload() {
    const change_mbti = document.getElementById("change_mbti").value

    alert("MBTI 변경 완료");

    const response = await fetch(`${main_url}/users/${userId}/profile/changembti/`, {
        headers: {
            'Authorization': 'Bearer ' + localStorage.getItem('access'),
            'content-type': 'application/json',
        },
        method: 'PUT',
        body: JSON.stringify({
            "mbti": change_mbti,
        })
    })
}

 

👉 바꿀 MBTI만 수정해줘도 나머지정보인 age, gender는 기존에 저장된 정보 그대로 유지된다.

 

 

저작자표시 비영리 변경금지 (새창열림)

'woncoding > TIL' 카테고리의 다른 글

TIL | 12.26.월 [DRF ↔️ JS CRUD]  (0) 2022.12.26
TIL | 12.23.금 [사용자 피드백]  (0) 2022.12.25
TIL | 12.21.수 [DRF ↔️ JS CRUD]  (0) 2022.12.23
TIL | 12.20.화 [DRF ↔️ JS CRUD]  (0) 2022.12.23
TIL | 12.19.월 [Docker | nginx + postgresql + django]  (0) 2022.12.19
    'woncoding/TIL' 카테고리의 다른 글
    • TIL | 12.26.월 [DRF ↔️ JS CRUD]
    • TIL | 12.23.금 [사용자 피드백]
    • TIL | 12.21.수 [DRF ↔️ JS CRUD]
    • TIL | 12.20.화 [DRF ↔️ JS CRUD]
    _won_
    _won_
    Coding Practice blog

    티스토리툴바