📌 Django에서 HTML 없이 응답할 수 있을까? JSON 응답 완전 정리!
✅ 1. HTML이 필요 없는 경우는 언제일까?
Django에서 꼭 HTML 템플릿을 사용해야만 응답할 수 있는 건 아닙니다.
다음과 같은 경우에는 HTML 없이도 서버가 응답 가능합니다:
- 📱 React, Vue 같은 프론트엔드 프레임워크와 연동할 때
- 📲 모바일 앱과 통신할 때
- 🔄 JavaScript에서 fetch()나 axios로 데이터만 요청할 때
- ✅ 화면이 아니라 데이터만 전달할 때
🔄 2. HTML 대신 사용하는 응답: JSON
👉 JSON이란?
JavaScript Object Notation
- 딕셔너리처럼 key-value 형태의 데이터 포맷
- 사람이 읽기 쉽고, 기계가 처리하기도 쉬움
🛠️ 3. Django에서 JSON 응답하는 방법
📤 JsonResponse 사용 예시
from django.http import JsonResponse
def get_data(request):
data = {
'name': '찬스맨',
'age': 39,
'is_cool': True,
}
return JsonResponse(data)
✔️ 이 코드는 HTML 없이, 데이터(JSON) 를 그대로 응답하는 방식입니다.
✔️ 프론트에서 이 데이터를 받아서 원하는 방식으로 화면에 출력할 수 있어요.
🔁 4. 전체 응답 흐름
[클라이언트] ➜ fetch('/get_data') 요청
↓
[Django 서버] ➜ JsonResponse로 데이터 응답
↓
[클라이언트] ➜ 응답(JSON)을 받아 처리 후 출력
💬 5. 그럼 언제 HTML, 언제 JSON?
상황 응답 형식 이유
브라우저에 페이지를 보여줄 때 | HTML | 사용자에게 직접 화면을 렌더링해야 함 |
데이터만 전달할 때 | JSON | 프론트(Vue/React 등)가 자체 화면 처리함 |
✅ 정리 한 줄 요약
Django는 템플릿 없이도 응답 가능합니다!
화면이 아닌 데이터를 전송할 땐 JsonResponse 를 사용해 JSON 으로 응답해요.
💡 실전 팁
- Django로 REST API를 만들고 싶다면 JSON 응답은 필수
- JsonResponse는 기본적으로 application/json 타입으로 전송됨
- 프론트와 API만 주고받는 구조라면 HTML 템플릿은 생략해도 됨
필요에 따라 HTML도, JSON도 자유롭게 쓸 수 있는 Django!
상황에 맞게 유연하게 사용하는 것이 핵심입니다 😊
'기술블로그-Django편' 카테고리의 다른 글
📌 Poetry vs pyenv 차이점 완전 정리 (0) | 2025.05.12 |
---|---|
📌 Django REST Framework(DRF) 완전 정리: API 개발의 핵심 도구 (0) | 2025.05.12 |
📌 클라이언트/프론트엔드 vs 서버/백엔드 완전 정리 (0) | 2025.05.12 |
📘 추상화(Abstraction)란 무엇이며, 프로그래밍에서 왜 중요할까? (0) | 2025.05.12 |
✅ Django CBV에서 URL 파라미터 이름 정리 (어떤 파라미터 이름을 쓰느냐에 따라 오류가 발생) (0) | 2025.05.12 |