2014-10-28 5 views
6

मेरे पास यह पायथन-फ्लास्क प्रोजेक्ट है और मुझे तर्क की आवश्यकता है जो कुकी मौजूद नहीं है यदि कुकी मौजूद नहीं है।पायथन फ्लास्क समाप्ति सेट करते समय कुकी नहीं बना रहा

एक बार कुकी बनने के बाद, मुझे ट्रैकिंग उद्देश्यों के लिए डेटाबेस में अन्य मानों के साथ कुकी को स्टोर करने की आवश्यकता है।

यहाँ मेरे वर्तमान कोड के एक आंशिक है:

import uuid 
from flask import render_template, request, make_response 

def load_cookie_config(context): 
    #context is a dictionary that is passed 

    key = 'some_key' 
    template_name = 'some_template' 
    cookie = request.cookies.get(key, None) 

    if not cookie: 
     guid = str(uuid.uuid4()) 
     context['cookie_quid'] = guid 

     rsp = make_response(render_template(template_name, **context)) 

     rsp.set_cookie(key, guid) 

     #... some method call insert values into db 

    else: 
     result = '' #.. some method call to get values from db 
     context['cookie_quid'] = cookie 
     rsp = make_response(render_template(template_name, **context)) 

    return rsp 

कोड काम करता है ऊपर और कुकी के रूप में उम्मीद, लेकिन यह चूक कुकी जब भी ब्राउज़र सत्र समाप्त समाप्त करने के लिए बनाता है।

मैं जहां यह दिन बनाम ब्राउज़र सत्र की एक एक्स राशि के बाद समाप्त हो जाएगा करने के लिए कुकी सेट करने की जरूरत है, लेकिन जब मैं इस लाइन बदलने के लिए:

rsp.set_cookie(key, guid) 

को
rsp.set_cookie(key, guid, expires=90) 

यह करता है कुकी बिल्कुल नहीं बनाओ।

क्या किसी के पास विचार या विचार हैं कि यह क्यों हो सकता है?

उत्तर

14

आप अपने समय सीमा समाप्त होने के लिए max_age=90 एक datetime सेट करें, या उपयोग करने की आवश्यकता:

उदाहरण:

import datetime 
expire_date = datetime.datetime.now() 
expire_date = expire_date + datetime.timedelta(days=90) 
response.set_cookie(key, guid, expires=expire_date) 
+0

इस खूबसूरती से काम किया है, तो आप त्वरित प्रतिक्रिया के लिए बहुत बहुत धन्यवाद! – Wondercricket

+0

बेशक :) मुझे खुशी है कि मैं – CodeLikeBeaker

+1

की मदद करने में सक्षम था मैक्स आयु अंडरस्कोर है, उदाहरण: प्रतिक्रिया.सेट_cookie (कुंजी, guid, max_age = 90) – reggoodwin

संबंधित मुद्दे