2015-09-26 142 views
0

我有一個頁面加載搜索欄的標籤列表。每次點擊它都必須重新加載這個標籤列表。我怎樣才能使它成爲一個全局變量,當你訪問該網站時被初始化,並且不會每點擊一次就重新加載?django每次點擊頁面時都會重新加載變量

編輯:更好的是,我該如何讓列表初始化並且每天或每週更新一次?

+1

您可以使用會話https://docs.djangoproject.com/en/1.8/topics/http/sessions/ – user996142

回答

1

我會使用低級緩存api來做到這一點https://docs.djangoproject.com/en/1.8/topics/cache/。一旦高速緩存的設置應該是爲執行以下操作一樣簡單:

from django.core.cache import cache 

    def view(): 
     search_tags = cache.get('search_tags') 
     if not search_tags: # cache expired 
      search_tags = get_searchtags() # substitute for your code 
      cache.set('search_tags', search_tags, 60 * 60 * 24 * 7) # cache search tags for 7 days 
     return view 

這將意味着,每7天一次的搜索標籤列表是建立和隨後的訪問是非常快。

+0

您還可以將標籤的建築物卸載到另一個作業中,以便在時間不是用戶的情況下構建它們會對用戶體驗產生負面影響(即使它每週一次) –

相關問題