اذهب إلى المحتوى

السؤال

نشر

لدي ملف view بسيط:

def myview(request):
   # ...

أريد ألا يقوم المتصفح بتخزين myView في Cache، لذلك يجب أن أقوم بإضافة بعض الترويسات headers إلى الرد response، مثل:

Pragma: no-cache
Cache-control: must-revalidate
Cache-control : no-cache

هل توجد طريقة لإضافة هذه الترويسات headers تلقائيًا بدلًا من عمل كائن Response مخصص لهذا العرض فقط view؟

هل هناك middleware أو أي شيء مشابهة يمكنه تنفيذ هذا الأمر بأقل قدر ممكن من التعديل على الكود؟

Recommended Posts

  • 1
نشر

لمنع المتصفح من تخزين العرض في ذاكرة التخزين المؤقت (Cache) يمكنك استعمال المزخرف  never_cache والذين يقوم بإضافة الترويسات:

Cache-Control: max-age=0, no-cache, no-store, must-revalidate, private

إلى الرد (Response) تُخبر المتصفح بعدم تخزين الصفحة.

أما كيفية استخدام هذا المزخرف في العرض فهو كالتالي:

# نقوم باستدعاء المزخف
from django.views.decorators.cache import never_cache

#نضع المزخرف فوق دالة العرض
@never_cache
def myview(request):
    ...

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...