django에서 data = json.loads(request.body)로 받아들여서 User를 업데이트 하는 방법

2023. 4. 17. 09:40django

Django에서 request.body를 사용하여 POST 요청에서 JSON 데이터를 가져올 수 있습니다. 그런 다음 JSON 데이터를 파이썬 객체로 변환하고 해당 객체를 사용하여 User 모델을 업데이트 할 수 있습니다. 다음은 간단한 예시 코드입니다.

import json
from django.contrib.auth.models import User

def update_user(request, user_id):
    # request.body에서 JSON 데이터 가져오기
    data = json.loads(request.body)

    # User 객체 가져오기
    user = User.objects.get(id=user_id)

    # User 모델 업데이트
    user.username = data['username']
    user.email = data['email']
    user.first_name = data['first_name']
    user.last_name = data['last_name']
    user.save()

    # 업데이트된 User 객체 반환
    return user

 

이 코드에서는 먼저 request.body에서 JSON 데이터를 가져와서 파이썬 객체로 변환합니다. 그런 다음 User 모델에서 해당 사용자를 가져와서 JSON 데이터에서 가져온 필드로 모델을 업데이트합니다. 마지막으로 업데이트된 User 객체를 반환합니다. 이 코드는 User 모델의 필드 중 일부만 업데이트하고 있습니다. 필요에 따라 다른 필드를 추가하거나 업데이트할 수 있습니다.