私のコード:
if not 'last_user_visit' in request.COOKIES:
response.set_cookie('last_user_visit', now)
last_visit = request.COOKIES.get('last_user_visit')
print last_visit
なぜ私の場合ですかlast_visit
?None
私のコード:
if not 'last_user_visit' in request.COOKIES:
response.set_cookie('last_user_visit', now)
last_visit = request.COOKIES.get('last_user_visit')
print last_visit
なぜ私の場合ですかlast_visit
?None
応答に設定し、要求から読み返すためです。リクエストのバージョンは、レスポンスがクライアントに送信され、次のリクエストが受信されるまで更新されません。
ダニエルが提案したように、最初に応答を送信する必要があります。応答にCookieを設定してから、それを返す必要があります。その時から、リクエストが来るたびにその Cookie が保持され、アクセスできるようになります。次のような関数を作成できます。
def cookie_setter(request):
'''Do your function task and create response object
'''
if not 'last_user_visit' in request.COOKIES:
response.set_cookie('last_user_visit', now)
return response