티스토리 뷰
반응형
쿠키는 텍스트 파일 형태로 클라이언트 PC 에 저장된다. 더 나은 방문자 경험과 사이트 통계를 위해 클라이언트 사용과 관련된 데이터를 저장하는 것이다.
파일명 : 9_cookies.py
from flask import Flask, render_template, request, make_response
app = Flask(__name__)
@app.route('/')
def index():
return render_template('9_index.html')
@app.route('/setcookie', methods = ['POST', 'GET'])
def setcookie():
if request.method == 'POST':
user = request.form['nm']
resp = make_response(render_template('9_readcookie.html'))
resp.set_cookie('userID', user)
return resp
@app.route('/getcookie')
def getcookie():
name = request.cookies.get('userID')
return '<h1>welcome '+name+'</h1>'
if __name__ == '__main__':
app.run(debug=True)
request 객체는 쿠키의 속성이 포함되어 있다. Flask 에서 쿠키는 request 객체에 설정된다. make_response() 함수를 사용하여 뷰 함수의 반환 값에서 응답 객체를 가져온 후 set_cookie() 함수를 사용하여 쿠키를 저장한다.
파일명 : 9_index.html
<html>
<body>
<form action = "/setcookie" method = "POST">
<p><h3>Enter userID</h3></p>
<p><input type = 'text' name = 'nm'/></p>
<p><input type = 'submit' value = 'Login'/></p>
</form>
</body>
</html>
ROOT URL 로 접근하면 9_index.html 의 내용이 브라우저에 보여지는데 사용자로부터 문자열을 입력받는다.
submit 버튼을 누르면 setcookie() 함수가 호출되고, 9_readcookie.html 의 내용을 브라우저에 보여준다.
파일명 : 9_readcookie.html
<html>
<body>
<p><h3>Cookie userID is set</h3></p>
<p><a href='/getcookie'>Click here to read cookie</a></p>
</body>
</html>
9_readcookie.html 은 userID 가 설정되었다는 메세지와 함께 getcookie() 함수를 호출하는 하이퍼링크를 가지고 있다. 링크를 선택하면 getcookie() 함수가 호출되면서 저장된 cookie 값을 가져와 화면에 보여준다.
반응형
'IT > Flask' 카테고리의 다른 글
[Flask] 리다이렉트 & 에러 (Redirect & errors) (0) | 2020.08.13 |
---|---|
[Flask] 세션 (Sessions) (0) | 2020.08.12 |
[Flask] FORM 데이터 보내기 (Sending Form Data) (0) | 2019.04.23 |
[Flask] 정적 파일 (Static file) (0) | 2019.04.18 |
[Flask] 템플릿 보여주기 (Template Rendering) (0) | 2019.04.16 |
댓글
공지사항