0
我有一个页面加载搜索栏的标签列表。每次点击它都必须重新加载这个标签列表。我怎样才能使它成为一个全局变量,当你访问该网站时被初始化,并且不会每点击一次就重新加载?django每次点击页面时都会重新加载变量
编辑:更好的是,我该如何让列表初始化并且每天或每周更新一次?
我有一个页面加载搜索栏的标签列表。每次点击它都必须重新加载这个标签列表。我怎样才能使它成为一个全局变量,当你访问该网站时被初始化,并且不会每点击一次就重新加载?django每次点击页面时都会重新加载变量
编辑:更好的是,我该如何让列表初始化并且每天或每周更新一次?
我会使用低级缓存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天一次的搜索标签列表是建立和随后的访问是非常快。
您还可以将标签的建筑物卸载到另一个作业中,以便在时间不是用户的情况下构建它们会对用户体验产生负面影响(即使它每周一次) –
您可以使用会话https://docs.djangoproject.com/en/1.8/topics/http/sessions/ – user996142