का उपयोग करके किसी विशिष्ट पृष्ठ पर कैश को अक्षम करें मेरे पास एक टेम्पलेट है जिसमें लेखक विभिन्न प्रविष्टियां दिखा रहे हैं जिन्हें लेखक संपादित/हटा सकते हैं। उपयोगकर्ता हटाएंफ्लास्क
हटाए जाने के बाद उपयोगकर्ता प्रविष्टियों पृष्ठ पर रीडायरेक्ट हो जाते हैं, लेकिन आइटम अभी भी वहां है, और हटाए जाने वाले प्रभाव को दिखाने के लिए पृष्ठ को दोबारा लोड करने की आवश्यकता है। तो मैं कैशिंग समस्या गायब हो जाता है, अक्षम, लेकिन मैं वास्तव में अन्य सभी पृष्ठों में कैश करना चाहते हैं ...
इन टैग जोड़ने काम नहीं किया, मैं अपने ब्राउज़र सिर्फ उन्हें
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
पर ध्यान नहीं देता लगता है मैं कैश टफ को सक्षम कर रहा हूं:
@app.after_request
def add_header(response):
response.headers['X-UA-Compatible'] = 'IE=Edge,chrome=1'
response.headers['Cache-Control'] = 'public, max-age=600'
return response
क्या कोई तरीका है कि मैं इसे किसी विशिष्ट पृष्ठ के लिए अक्षम कर सकता हूं?
संपादित
के रूप में सुझाव मैं एक आवरण उपयोग करने की कोशिश:
def no_cache(f):
def new_func(*args, **kwargs):
resp = make_response(f(*args, **kwargs))
resp.cache_control.no_cache = True
return resp
return update_wrapper(new_func, f)
और पेज मैं एक @no_cache डेकोरेटर में कैश wihtout चाहते लपेट, फिर भी प्रयास विफल था ...
धन्यवाद: ताकि आप इसे ऐसे ही उपयोग कर सकते हैं -
इसके अलावा, आप इस तरह के
@no_cache
के रूप में एक आवरण के लिए शीर्षलेख जोड़कर कोड स्थानांतरित करने के लिए चाहते हो सकता है अगर वे पहले से ही हैं, तो मैंने इसके बारे में नहीं सोचा था ... मैंने सुझाव दिया है कि आपने सुझाव दिया है, एक रैपर के साथ प्रयास कर रहा है और केवल प्रतिक्रिया शीर्षलेख जोड़ने की कोशिश कर रहा है, लेकिन कैश अभी भी किसी कारण से है ... –@ लुकाब्रोज़ी, कृपया जांचें कि आप क्रोम/मोज़िला देव उपकरण में हेडर प्राप्त कर रहे हैं। उदाहरण देखें यह SO उत्तर अगर आपको नहीं पता कि यह कैसे करें: http://stackoverflow.com/questions/4423061/view-http-headers-in-google-chrome। यदि आप स्पष्ट रूप से देखते हैं कि 'कैश-कंट्रोल: नो-कैश' हेडर नहीं है, तो यह अभी भी आपके '@ app.after_request' हैंडलर में ओवरड्रिड हेडर के साथ एक समस्या है। – NikitaBaksalyar
नहीं मैं एक लाइन बदलने के लिए भूल गया था, आपका समाधान सही था, बहुत बहुत धन्यवाद –