Tornado는 파이썬으로 작성된 웹 프레임워크로, 비동기식 네트워크 프로그래밍을 지원하며 효율적인 웹 애플리케이션 개발을 가능하게 합니다. 쿠키는 클라이언트와 서버 사이에 상태를 유지하는 데 사용되며, Tornado에서 쿠키를 관리하는 방법을 배워봅시다.
쿠키 생성
쿠키를 생성하려면 set_cookie
메서드를 사용해야 합니다. 다음은 쿠키를 생성하는 예제입니다.
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.set_cookie("name", "John")
self.write("Cookie has been set")
set_cookie
메서드는 첫 번째 인자로 쿠키의 이름을, 두 번째 인자로 쿠키의 값을 전달합니다. 이 예제에서는 “name”이라는 쿠키에 “John”이라는 값을 설정했습니다.
쿠키 읽기
응답의 일부로 전송된 쿠키를 읽으려면 get_cookie
메서드를 사용합니다. 다음은 쿠키를 읽는 예제입니다.
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
name = self.get_cookie("name")
if name:
self.write(f"Hello, {name}")
else:
self.write("No cookie found")
get_cookie
메서드에 쿠키의 이름을 전달하면 해당 쿠키의 값을 반환합니다. 이 예제에서는 “name”이라는 쿠키의 값을 변수 name
에 저장하고, 만약 값이 존재한다면 해당 값을 사용하여 “Hello, [name]”을 출력합니다. 값이 존재하지 않을 경우 “No cookie found” 메시지를 출력합니다.
쿠키 삭제
쿠키를 삭제하려면 clear_cookie
메서드를 사용합니다. 다음은 쿠키를 삭제하는 예제입니다.
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.clear_cookie("name")
self.write("Cookie has been cleared")
clear_cookie
메서드에 쿠키의 이름을 전달하면 해당 쿠키가 삭제됩니다. 이 예제에서는 “name”이라는 쿠키를 삭제하고 “Cookie has been cleared” 메시지를 출력합니다.
쿠키 옵션
쿠키를 생성할 때 expires
매개변수를 사용하여 쿠키의 만료 시간을 설정할 수 있습니다. 다음은 만료 시간을 설정하는 예제입니다.
import tornado.web
import datetime
class MainHandler(tornado.web.RequestHandler):
def get(self):
expires = datetime.datetime.utcnow() + datetime.timedelta(days=30)
self.set_cookie("name", "John", expires=expires)
self.write("Cookie with expiration date has been set")
expires
매개변수에는 만료 시간을 나타내는 datetime
개체를 전달합니다. 이 예제에서는 현재 시간에서 30일 후를 만료 시간으로 설정하고 “name”이라는 쿠키를 생성합니다.
쿠키에는 다양한 옵션을 설정할 수 있으며, 자세한 내용은 Tornado 문서를 참조하시기 바랍니다.
쿠키는 웹 애플리케이션에서 중요한 역할을 하며, Tornado를 사용하여 쉽게 쿠키를 관리할 수 있습니다. 위의 예제를 참고하여 웹 애플리케이션에서 쿠키를 생성, 읽기 및 삭제하는 방법을 익혀보세요!