반응형
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() 방식을 사용한다.
반응형
'Django' 카테고리의 다른 글
[Django] Form 처리 방식 정리 (0) | 2023.02.16 |
---|---|
[Django] 단축 함수 (0) | 2023.02.15 |
[Django] 제네릭 뷰의 페이징 기능 (0) | 2023.02.15 |
[Django] QuerySet에서 사용하는 '__'의 의미 (0) | 2023.02.13 |
[Django] 공통 context 변수 설정하기 (0) | 2023.02.11 |
댓글