每次单击页面时 django 都会重新加载变量

django reloads variables every time a page is clicked

我有一个页面可以加载搜索栏的标签列表。每次单击它都必须重新加载此标签列表。我怎样才能使它成为一个全局变量,在您访问该站点时进行初始化,而不是在每次点击页面时重新加载?

编辑:更好的是,我如何才能使列表初始化并且每天或每周只检查一次更新?

我会使用低级缓存 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 天构建一次,后续访问速度非常快。