본문 바로가기
  • 실행력이 모든걸 결정한다
Django

[Django] request.data와 request.POST는 각각 언제 사용할까?

by 김코더 김주역 2023. 3. 22.
반응형

Django에서 POST 요청으로 넘어온 데이터를 받을 때, 데이터의 형태에 따라 다음 방식 중 하나를 선택하는 것이 좋다.

 

1. request.POST.get(key, default=None)

- 일반적으로 폼 데이터를 처리할 때 사용되며, key에 해당하는 값을 가져오거나, 값이 없으면 default 값을 반환한다.

- 키가 존재하지 않을 때 오류가 발생하지 않으며, 디폴트 값을 지정할 수 있어 안전한 방식이다.

 

2. request.POST[key]

- request.POST.get과 비슷하지만, 키가 존재하지 않으면 KeyError를 발생시킨다. 키의 존재가 확실한 경우에만 사용하는 것을 권장한다.

 

3. request.data.get(key, default=None)

- Django REST framework를 사용할 때 JSON 데이터와 같은 비 폼 데이터를 처리하는 경우에 사용된다.

- request.POST와 비슷하게 작동하며, 키가 없을 때 오류를 발생시키지 않고 default 값을 반환한다.

 

4. request.data[key]

- request.data.get과 비슷하지만, 키가 존재하지 않으면 KeyError를 발생시킨다. 키의 존재가 확실한 경우에만 사용하는 것을 권장한다.

 

 

결론

- 폼 데이터의 경우: request.POST.get(key, default) 또는 request.POST[key]

- 폼 데이터가 아닌 경우 : request.data.get(key, default) 또는 request.data[key]

- 키가 존재하지 않을 때 오류를 방지하려면, .get() 방식을 사용한다.

 

반응형

댓글