2011-06-01 7 views
10

मैं वर्तमान में Flask और Google App Engine का उपयोग कर एक प्रोजेक्ट पर काम कर रहा हूं। get_flashed_messages() रिटर्न खाली कॉलिंग जब मैं फ्लैश संदेश तो एक redirect() का उपयोग करें:फ्लास्क संदेश चमकती रीडायरेक्ट में विफल रहता है

@views.route('/todo/add', methods=["POST"]) 
def add_todo(): 
    flash('hey') 
    return redirect(url_for('todo_list')) 

हालांकि, अगर मैं

# SERVER_NAME = 'localhost' 

बाहर टिप्पणी तो यह ठीक से काम करने लगता है। मेरी समस्या यह है कि मुझे सबडोमेन का उपयोग करना है, इसलिए मुझे सेट करने के लिए SERVER_NAME की आवश्यकता है।

सौदा क्या है?

उत्तर

10

सेट मुझे मिल गया पर ही पढ़ी जा रहे हैं! चाल सर्वर नाम को डॉट्स के साथ सेट करने के लिए है।

तो 'लोकलहोस्ट' 'app.local' बन गया और ऐप.लोकल/etc/hosts में जोड़ा जाना चाहिए, जो स्थानीयहोस्ट के समान पते पर इंगित करता है।

docs से:

कृपया ध्यान न केवल बोतल नहीं जानने की समस्या क्या उप डोमेन हैं कि में रखने के लिए, अपने वेब ब्राउज़र रूप में अच्छी तरह से करता है। अधिकांश आधुनिक वेब ब्राउज़र क्रॉस-सबडोमेन कुकीज़ को डॉट्स के बिना सर्वर नाम पर सेट करने की अनुमति नहीं देंगे। तो यदि आपका सर्वर नाम 'लोकलहोस्ट' है तो आप 'लोकलहोस्ट' और प्रत्येक सबडोमेन के लिए कुकी सेट करने में सक्षम नहीं होंगे। कृपया उस मामले में अलग-अलग सर्वर नाम, जैसे 'myapplication.local' चुनें और इस नाम कोको अपने होस्ट कॉन्फ़िगरेशन में उपयोग करें या स्थानीय बाइंड सेट करें।

+0

मैंने पाया कि बस SERVER_NAME पर टिप्पणी कर रहा है इसे काम करने के लिए मिला। मैंने पहले 'SERVER_NAME = 127.0.0.1: 5000' किया था। – Eddy

+0

साइड नोट, मुझे अपने पर्यावरण में .dev को .local बदलने की जरूरत है। – anvd

3

क्या आपने सभी सबडोमेन में काम करने के लिए कुकीज़ सेट अप की हैं?

डिफ़ॉल्ट रूप से वे डोमेन है कि उन्हें

+0

आपकी प्रतिक्रिया के लिए धन्यवाद। कोई आईडिया कि इसे कैसे किया जाए? मैं देखता हूं कि आप set_cookie() को कॉल कर सकते हैं लेकिन मुझे वास्तव में पता नहीं है कि मैं यह कहां करूंगा ... http://flask.pocoo.org/docs/api/#response-objects – rgbrgb