Django에서 세션은 기본적으로 로그인 시점에 자동으로 생성되지 않는다.
로그인을 할 때 django.contrib.auth 모듈을 사용하여 login( ) 함수를 호출하면 세션이 생성된다.
세션 ID는 쿠키로 클라이언트에 저장되며 해당 세션 ID와 관련된 데이터는 서버에 저장된다.
세션이 활성화되면 세션 ID를 포함하는 쿠키가 응답 헤더에 포함되어 브라우저로 전송된다.
세션에 값을 저장하는 순간에 세션이 생성된다.
뷰에서 request.session['key'] = value 와 같이 세션에 값을 할당하는 코드가 실행될 때 해당 세션이 없으면 새로운 세션이 생성되고 이미 세션이 있으면 기존 세션이 사용된다.
세션이 생성되면서 Django는 세션 데이터를 데이터베이스에 저장한다.
기본 설정에서는 django.contrib.sessions.backends.db를 사용하여 데이터베이스에 저장된다.
Django에서 세션 데이터를 관리하기 위해 기본적으로 django_session이라는 테이블을 사용한다.
이 테이블은 django.contrib.sessions 앱을 통해 자동으로 생성된다.

: 클라이언트 쿠키와 매핑되는 고유 키로 로그인 시점이나 세션 값이 저장되는 시점에 새로 생성
:세션 데이터가 JSON 형태로 직렬화되어 Base64로 인코딩되어 저장
: 세션이 만료되는 시간으로 세션이 만료되면 자동으로 삭제
(정 파일의 SESSION_COOKIE_AGE에 따라 만료 기간 지정)
# settings.py
# 세션 데이터 저장소 설정 (디폴트: 데이터베이스)
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
# 세션 만료 시간 설정 (초 단위, 기본값: 2주)
SESSION_COOKIE_AGE = 1209600
# 브라우저 종료 시 세션 삭제 여부
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
# 안전한 세션 쿠키 사용 여부
SESSION_COOKIE_SECURE = False