
지금은 URL을 연결했으므로, 그 URL을 처리할 View가 필요합니다.
처음부터 템플릿까지 한 번에 만들지 않고, 먼저 임시 응답으로 URL 연결이 정상인지 확인하겠습니다.

from django.http import HttpResponseDjango 내장 함수로 HTTP 응답을 만들어주는 클래스입니다.
from django.http import HttpResponse
# ↑ ↑ ↑
# Django 패키지 http 모듈 응답 클래스
사용자 (브라우저) Django 서버
↓ ↓
request 보냄 → response 돌려줌
(요청) (응답)
| 용어 | 의미 | 예시 |
|---|---|---|
request | 사용자가 보낸 요청 | URL 접속, 버튼 클릭 |
response | 서버가 돌려주는 응답 | HTML 페이지, 텍스트 |
def study_list(request) 분석def study_list(request):
# ↑ ↑
# 함수 이름 요청 정보 (Django가 자동으로 넘겨줌)
request 안에 담긴 정보들
request.method # 요청 방식 (GET, POST)
request.user # 접속한 사용자
request.GET # GET 파라미터
request.POST # POST 데이터
return HttpResponse('공부기록 목록 페이지')return HttpResponse('공부기록 목록 페이지')
# ↑ ↑
# 응답 객체 생성 브라우저에 보여줄 내용
브라우저에서 이렇게 보임:
┌─────────────────────────┐
│ 공부기록 목록 페이지 │
└─────────────────────────┘
① 사용자가 /study/ 접속
↓
② urls.py 에서 study_list 함수 찾음
↓
③ study_list(request) 실행
↓
④ HttpResponse('공부기록 목록 페이지') 생성
↓
⑤ 브라우저에 텍스트 출력
from django.http import HttpResponse # ① 응답 클래스 가져오기
def study_list(request): # ② 뷰 함수 정의
# request = 사용자 요청 정보
return HttpResponse('공부기록 목록 페이지') # ③ 텍스트 응답 반환
HttpResponse= 브라우저에게 응답을 돌려주는 Django 내장 클래스
request= 사용자가 보낸 요청 정보를 담은 객체 ✅
from django.http import HttpResponseDjango 내장 함수로 HTTP 응답을 만들어주는 클래스입니다.
from django.http import HttpResponse
# ↑ ↑ ↑
# Django 패키지 http 모듈 응답 클래스
사용자 (브라우저) Django 서버
↓ ↓
request 보냄 → response 돌려줌
(요청) (응답)
| 용어 | 의미 | 예시 |
|---|---|---|
request | 사용자가 보낸 요청 | URL 접속, 버튼 클릭 |
response | 서버가 돌려주는 응답 | HTML 페이지, 텍스트 |
def study_list(request) 분석def study_list(request):
# ↑ ↑
# 함수 이름 요청 정보 (Django가 자동으로 넘겨줌)
request 안에 담긴 정보들
request.method # 요청 방식 (GET, POST)
request.user # 접속한 사용자
request.GET # GET 파라미터
request.POST # POST 데이터
return HttpResponse('공부기록 목록 페이지')return HttpResponse('공부기록 목록 페이지')
# ↑ ↑
# 응답 객체 생성 브라우저에 보여줄 내용
브라우저에서 이렇게 보임:
┌─────────────────────────┐
│ 공부기록 목록 페이지 │
└─────────────────────────┘
① 사용자가 /study/ 접속
↓
② urls.py 에서 study_list 함수 찾음
↓
③ study_list(request) 실행
↓
④ HttpResponse('공부기록 목록 페이지') 생성
↓
⑤ 브라우저에 텍스트 출력
from django.http import HttpResponse # ① 응답 클래스 가져오기
def study_list(request): # ② 뷰 함수 정의
# request = 사용자 요청 정보
return HttpResponse('공부기록 목록 페이지') # ③ 텍스트 응답 반환
HttpResponse= 브라우저에게 응답을 돌려주는 Django 내장 클래스
request= 사용자가 보낸 요청 정보를 담은 객체 ✅
객체 = 데이터(정보) + 기능(동작) 을 하나로 묶은 것
🚗 자동차 (객체)
├── 데이터 (속성)
│ ├── 색상 = '빨간색'
│ ├── 속도 = 100
│ └── 브랜드 = '현대'
│
└── 기능 (메서드)
├── 출발()
├── 정지()
└── 가속()
request # ← 이것이 객체
# 데이터 (속성)
request.method # 'GET'
request.user # 접속한 사용자
request.POST # 전송된 데이터
# 기능 (메서드)
request.is_ajax() # ajax 요청인지 확인
| 용어 | 의미 | 예시 |
|---|---|---|
| 클래스 (Class) | 객체를 만드는 설계도 | 자동차 설계도 |
| 객체 (Object) | 클래스로 만든 실체 | 실제 자동차 |
| 인스턴스 (Instance) | 객체와 거의 같은 말 | 내 차, 네 차 |
| 속성 (Attribute) | 객체가 가진 데이터 | 색상, 속도 |
| 메서드 (Method) | 객체가 가진 기능 | 출발(), 정지() |
# 클래스 = 설계도 (추상적)
class Car:
color = '빨간색'
def drive(self):
print('출발!')
# 객체 = 실체 (구체적)
my_car = Car() # ← 설계도로 실제 객체 생성
클래스 (추상적) 객체 (구체적)
자동차 설계도 → 실제 자동차
붕어빵 틀 → 실제 붕어빵
HttpRequest → request
| 반댓말 쌍 | 의미 |
|---|---|
| 클래스 ↔ 객체 | 설계도 ↔ 실체 |
| 추상 ↔ 구체 | 개념 ↔ 실제로 존재 |
| 정의 ↔ 인스턴스 | 틀 ↔ 틀로 만든 것 |
클래스 = 붕어빵 틀 (설계도)
객체 = 붕어빵 (실제로 만들어진 것)
request = HttpRequest 클래스로 만들어진 객체
→ 사용자 요청 정보를 담고 있는 실체
클래스가 설계도라면, 객체는 그 설계도로 만든 실제 결과물 ✅
| 클래스 | 객체 | |
|---|---|---|
| 의미 | 설계도 | 실체 |
| 특징 | 추상적 | 구체적 |
| 존재 | 메모리에 없음 | 메모리에 존재 |
클래스 = 붕어빵 틀 (설계도, 추상적)
↕ 반댓말
객체 = 붕어빵 (실체, 구체적)
# 클래스 = 설계도 (추상적)
class Car:
color = '빨간색'
# 객체 = 실체 (구체적)
my_car = Car() # ← 클래스로 객체 생성
클래스 = 아직 만들어지지 않은 설계도
객체 = 설계도로 실제로 만들어진 것 ✅