2015-09-26 128 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

您还可以将标签的建筑物卸载到另一个作业中,以便在时间不是用户的情况下构建它们会对用户体验产生负面影响(即使它每周一次) –

相关问题