每次点击一个页面时,django都会重新加载变量

时间:2015-09-26 22:41:42

标签: django memory global

我有一个页面,用于加载搜索栏的标签列表。每次单击它都必须重新加载此标记列表。如何使它成为一个全局变量,在您访问该站点时进行初始化,并且每次点击都不会重新加载?

编辑:更好的是,如何制作列表以便每天或每周检查一次以进行更新?

1 个答案:

答案 0 :(得分: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天就会构建一次搜索标签列表,并且后续访问非常快。