[Django] request 데이터 받기

RUNGOAT·2023년 3월 21일
0

Django

목록 보기
1/1

💡 request.POST

request.POST는 HTTP POST 요청에서 전송된 폼 데이터를 가져오는 데 사용됩니다. 이 속성은 QueryDict객체를 반환하며, 이 객체는 키-값 쌍으로 구성된 데이터를 저장합니다. 이 속성은 주로 HTML 폼을 통해 제출된 데이터를 처리할 때 사용됩니다. 예를 들어, 사용자가 로그인 폼을 제출하면, request.POST를 사용하여 사용자가 제출한 로그인 자격 증명을 가져올 수 있습니다.

def login_view(request):
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        # 사용자 인증 로직 실행
        # ...

💡 request.body

request.body요청 본문의 원시 데이터를 가져오는 데 사용됩니다. 이 속성은 HTTP 요청의 Content-Type 헤더에 지정된 데이터 형식으로 요청 본문을 가져옵니다. 이 속성은 주로 RESTful API에서 JSON, XML 등 다양한 데이터 형식으로 요청을 처리할 때 사용됩니다.

request.body는 요청 본문 데이터를 직접 처리하고 싶을 때 사용

import json

def api_view(request):
    if request.method == 'POST':
        data = json.loads(request.body)
        # JSON 데이터 처리 로직 실행
        # ...

💡 request.data

request.datarequest.body와 달리, 요청 본문 데이터를 파싱하고 직렬화하기 위한 Django의 기본 파서(예: JSONParser, FormParser, MultiPartParser 등)에 따라 자동으로 변환됩니다. 이 속성은 주로 RESTful API에서 JSON, XML, HTML 폼 등 다양한 데이터 형식으로 요청을 처리할 때 사용됩니다.

request.data는 요청 본문 데이터를 Django가 자동으로 파싱하고 직렬화하기를 원할 때 사용

from django.http import JsonResponse

def api_view(request):
    if request.method == 'POST':
        data = request.data
        # 데이터 처리 로직 실행
        # ...
        return JsonResponse({'success': True})

📃 출처

profile
📞피드백 너무나 환영

0개의 댓글