[파이썬] web2py에서의 쿠키 관리

웹 애플리케이션을 개발하다보면 쿠키 관리는 중요한 요소입니다. 쿠키는 클라이언트 측에 저장되는 작은 데이터 조각으로, 웹 애플리케이션과 사용자 간의 상태를 유지하고 정보를 전달하는 데 사용됩니다. web2py는 파이썬으로 작성된 오픈 소스 웹 애플리케이션 프레임워크로, 쿠키 관리에 대한 내장 기능을 제공합니다.

쿠키 설정

웹 애플리케이션에서 쿠키를 설정하려면 response 객체의 cookies 속성을 사용합니다. 다음은 response.cookies를 사용하여 username이라는 이름의 쿠키를 설정하는 예제입니다.

response.cookies['username'] = 'john'
response.cookies['username']['expires'] = 3600  # 쿠키의 유효 기간 설정 (1시간)
response.cookies['username']['path'] = '/'  # 쿠키의 경로 설정 (전역)
response.cookies['username']['httponly'] = True  # 쿠키에 대한 HTTP 전용 설정

위의 코드에서 response.cookies는 딕셔너리와 유사한 형태로 작동합니다. username은 쿠키의 이름을 나타내며, expires, path, httponly는 쿠키의 속성을 설정하는 데 사용됩니다. expires는 쿠키의 유효 기간을 설정하는 데 사용되며, path는 쿠키가 적용되는 경로를 설정합니다. httponly는 쿠키에 대한 HTTP 전용 설정이 있을 경우 True로 설정됩니다.

쿠키 읽기

웹 애플리케이션에서 쿠키를 읽기 위해서는 request 객체의 cookies 속성을 사용합니다. 다음은 request.cookies에서 username 쿠키 값을 읽어오는 예제입니다.

username = request.cookies['username']

위의 코드에서 request.cookies는 딕셔너리와 유사한 형태로 작동하며, username을 키로 사용하여 쿠키 값을 읽어올 수 있습니다.

쿠키 삭제

쿠키를 삭제하려면 해당 쿠키를 만료 시점으로 설정하면 됩니다. 다음은 response.cookies를 사용하여 username 쿠키를 삭제하는 예제입니다.

response.cookies['username']['expires'] = 0

위의 코드에서 expires를 0으로 설정하면 쿠키가 즉시 만료되어 클라이언트에서 삭제됩니다.

요약

web2py는 쿠키 관리를 위한 편리한 기능을 제공합니다. response.cookies를 사용하여 쿠키를 설정하고, request.cookies를 사용하여 쿠키를 읽을 수 있습니다. 쿠키를 삭제하려면 해당 쿠키의 만료 시점을 설정하면 됩니다. 쿠키를 사용하여 웹 애플리케이션에서 사용자 상태를 유지하고 정보를 전달할 수 있습니다.