2010-12-14 60 views

回答

1

呃...我會仔細考慮這點。每個請求都會處理該模板。你不想僅僅將它設置爲緩存,數據可以(也可能會)改變。

謝天謝地,Django提供了緩存。我不確定它是否正確設置了no-cache,但它肯定會防止不需要的重複查詢。這是你想要使用的。

閱讀上http://docs.djangoproject.com/en/dev/topics/cache/

10

你可以寫一個自定義的中間件(未經測試,像這樣的東西開始,並期待在docs)。例如,它可以爲網站提供很多網絡資源,從而提供非常靜態的信息,例如抽獎結果或歷史股票報價。

# my_middleware.py 
from django.conf import settings 

# default 30 days 
MAX_AGE = getattr(settings, 'CACHE_CONTROL_MAX_AGE', 2592000) 

class MaxAgeMiddleware(object): 
    def process_response(self, request, response): 
     response['Cache-Control'] = 'max-age=%d' % MAX_AGE 
     return response 

在settings.py中附加你的中間件MIDDLEWARE_CLASSES;中間件就像洋蔥層 - 順序很重要,在響應階段,最先處理的是第一個。

設置CACHE_CONTROL_MAX_AGE或任何其他參數,試試看。