[Django](장고) 세션 만료시간 최대값 / session expiry maximum

2019. 8. 8. 00:20Develop/Python

728x90

 

django 에서는 세션 만료시간을 settings.py에서

SESSION_COOKIE_AGE = 10800

위 와 같이 설정하거나,

다음과 같이 각 코드에서 접근하는 유저별로 개개인 설정이 가능합니다.

 

[FBV] request.session.set_expiry(value) 

[CBV] request.session.set_expiry(value)

저는 Database를 Mysql, MariaDB를 사용중이기에, DATETIME Field를 사용하였는데, 

이때 Session Expire Time이 몇분인지 몰라서 검색을 해본 결과

 

참고자료: Stack Overflow

https://stackoverflow.com/questions/14284494/mysql-error-1264-out-of-range-value-for-column

 

MySQL Error 1264: out of range value for column

As I SET cust_fax in a table in MySQL like this: cust_fax integer(10) NOT NULL, and then I insert value like this: INSERT INTO database values ('3172978990'); but then it say `error 1264` o...

stackoverflow.com

 

 

Mysql에서의 DATETIME은 INTEGER 타입의 32bit 최대치를 따라서 2147483647

메이플 빅뱅패치전 풀 메소 가격만큼이 입력이 가능합니다.

 

해로 계산하면 약 68년

일로 계산하면 약 24,855일

시간으로 계산하면 약 596,523시간

분으로 계산하면 약 35,791,394분

초로 계산하면 그대로 2,147,483,647초

동안 유지가 가능합니다.

 

 

더 나아가 settings.py에 다음과 같이 설정하면 사용자가 사이트내에서 액션(행동, 페이지 이동 등)을 취할때마다,

세션 만료 시간이 증가됩니다.

맥스치로 주고 1년에 한번만 새로고침해줘도 평생 로그인..

SESSION_SAVE_EVERY_REQUEST = True
728x90