장고 쿠키 & 세션
둘러보기로 가기
검색하러 가기
1 개요
로그인 따위는 세션, 쿠기에서 관리한다. 이에 대한 지식.
2 세션
2.1 보안. 세션유효기간.
request.session['이름'] = 값
del request.session['이름']
엑셀 계산이나 딥러닝 등의 연산은 세션에 적당히 저장해 두었다가 지우는 방식을 주로 사용하는 듯하다.(유지시간도 설정할 수 있으니)
3 쿠키
장고에선 기본적으로 가벼운 정보를 쿠키에 저장한다. 그리고 유효기간을 설정해 관리한다.
3.1 쿠키 만들기
과정 | 코드 | 비고 |
---|---|---|
다음페이지 지정 | response = redirect('membership:confirm_sending') # 다음에 보낼 페이지를 지정해 응답을 받아야 한다.(그래야 저장됨) | |
쿠키 저장 | response.set_cookie('verification_code', verification_code, max_age=300) # 사용자의 쿠키에 검증코드 저장 | 인자는
'이름', 값, max_age=유효기간(초) 형태로 집어넣는다. 디폴트 유효기간 설정은 settings.py의 SESSION_COOKIE_AGE에 초단위의 기간을 설정하면 된다. |
3.2 쿠키 다루기
request.COOKIES.get('이름')
response = redirect('url') # 이동할 곳
response.set_cookie('이름', 값) # 이런 방식으로 쿠키를 만들거나 지워야 한다.
response.delete_cookie('이름')
4 유의점
함수의 끝인 return에서 redirect 주소(response)를 반환해주어야 쿠키에 데이터가 반영이 된다. 주소만 제대로 되어 있다면 request.META.get('HTTP_REFERER', '/') 형태로 입력해도 쿠키는 무사히 반영된다.