將視圖與緩存系統(tǒng)進行了耦合,從幾個方面來說并不理想。 例如,你可能想在某個無緩存的站點中重用該視圖函數(shù),或者你可能想將該視圖發(fā)布給那些不想通過緩存使用它們的人。 解決這些問題的方法是在 URLconf 中指定視圖緩存,而不是緊挨著這些視圖函數(shù)本身來指定。
完成這項工作非常簡單: 在 URLconf 中用到這些視圖函數(shù)的時候簡單地包裹一個 cache_page 。以下是剛才用到過的 URLconf : 這是之前的URLconf:
1
2
3
|
urlpatterns = ('', (r '^foo/(\d{1,2})/$' , my_view), ) |
以下是同一個 URLconf ,不過用 cache_page 包裹了 my_view :
1
2
3
4
5
|
from django.views.decorators.cache import cache_page urlpatterns = ('', (r '^foo/(\d{1,2})/$' , cache_page(my_view, 60 * 15 )), ) |
如果采取這種方法, 不要忘記在 URLconf 中導入 cache_page。