###############   django-缓存页面    ###############

  1. ###########################################
  2. # 全站缓存,
  3. # 整个网站的所有的页面都做缓存
  4. # 要有一个中间件,
  5. # 在中间件里面做缓存,
  6. # 使用中间件,经过一系列的认证等操作,如果内容在缓存中存在,则使用FetchFromCacheMiddleware获取内容并返回给用户,
  7. # 当返回给用户之前,判断缓存中是否已经存在,如果不存在则UpdateCacheMiddleware会将缓存保存至缓存,从而实现全站缓存
  8.  
  9. MIDDLEWARE = [
  10. 'django.middleware.cache.UpdateCacheMiddleware', # 开头加
  11. # 其他中间件...
  12. 'django.middleware.cache.FetchFromCacheMiddleware', # 结束加
  13. ]
  14.  
  15. CACHE_MIDDLEWARE_ALIAS = ""
  16. CACHE_MIDDLEWARE_SECONDS = "" # 设置缓存时间,单位秒
  17. CACHE_MIDDLEWARE_KEY_PREFIX = ""
  18.  
  19. # 这样第一次访问了页面之后,就会被缓存起来,然后再次访问页面就从缓存取了,
  20.  
  21. ##################################
  22.  
  23. # 单视图缓存
  24. # 因为全站缓存太大了,可以对某一个视图进行缓存,
  25. # 加装饰器,
  26. # 方式一:
  27. from django.views.decorators.cache import cache_page
  28. @cache_page(60 * 15) # 括号里面是秒,这个比全局的高,
  29. def my_view(request):
  30. ...
  31.  
  32. # 方式二:
  33. from django.views.decorators.cache import cache_page
  34. urlpatterns = [
  35. url(r'^foo/([0-9]{1,2})/$', cache_page(60 * 15)(my_view)),
  36. ]
  37. # 单视图缓存这个用处不大,因为一个页面是有动态数据的,有固定的数据,是不能一概而论的,
  38. # 所以可以对一个页面的某一个部分做缓存,
  39.  
  40. #######################################
  41. # 局部缓存,
  42. # a. 引入TemplateTag
  43. # {% load cache %}
  44. # b. 使用缓存
  45. # {% cache 5000 缓存key %} # 5000是指的5000秒之后消失,key是自己写的
  46. # 缓存内容
  47. # {% endcache %}
  48.  
  49. # 一共是三个级别,

###############    结束线    ################

django框架进阶-使用缓存-长期维护的更多相关文章

  1. django框架进阶-ModelForm组件-长期维护

    ############################################################ """ 通常在Django项目中,我们编写的大部 ...

  2. django框架进阶-form组件-长期维护

    ##################     form组件做了什么事情?      ####################### 之前web开发的模式,以注册为例 1,要有一个注册页面,然后有一个f ...

  3. django框架基础-ORM基础-长期维护

    ###############    ORM介绍  ################ """ ORM简介: ORM 全拼Object-Relation Mapping. ...

  4. django框架基础-视图系统-长期维护

    ##################   什么是视图?     ####################### 视图: 1,一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受W ...

  5. django框架基础-路由系统-长期维护

    ##################   路由系统介绍    ####################### 路由系统就是路径和函数的对应关系, 路由系统可以看成支撑你这个网站的目录,就像是一本书一样 ...

  6. django框架进阶-中间件-长期维护

    ##################    为什么使用中间件?      ####################### 先说几个需求, 1,url的白名单,url=[ "XX"] ...

  7. django框架进阶-分页-长期维护

    ##################   分页    ####################### 分页, django有自己内置的分页,但是功能不是很强大,所以自己写一个分页, web页面数据非常 ...

  8. django框架进阶-auth认证系统-长期维护

    ##################    django的认证系统     ####################### 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要 ...

  9. django框架进阶-AJAX-长期维护

    ##################   预备知识---json     ####################### 预备知识,json 什么是json?这是一种数据格式,和语言没有关系, 为什么 ...

随机推荐

  1. NetWork--HTTPS 原理解析<转>

    转载链接:https://www.cnblogs.com/zery/p/5164795.html HTTPS 原理解析   一 前言 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网 ...

  2. Linxu--导出oracle数据

    配置导出的表:(configure.sh) #!/bin/bash function get_config() { tables=( BLOG WF_PROCESS WF_TASK WF_TASK_A ...

  3. 明明办理的是100M光纤,为何经过路由器输出只有20M?

    就在今年7月26日,宽带发展联盟发布了第20期<中国宽带速率状况报告>(2018年第二季度).报告显示,2018年第二季度我国固定宽带网络平均下载速率达到21.31Mbps,比去年第二季度 ...

  4. socket实践编程1

    1.服务器端程序编写 (1).socket (2).bind (3).listen (4).accept,返回值是一个fd,accept正确返回就表示我们已经和前来连接我的客户端之间建立了一个TCP连 ...

  5. Linux-socket编程接口介绍

    1.建立连接 (1).socket.socket函数类似于open,用来打开一个网络连接,如果打开成功则返回一个网络文件描述符(int类型),之后我们操作这个网络连接都可以通过这个网络文件描述符. ( ...

  6. mysql的show status和show global status区别在哪

    show status                   本次会话的参数状态show global status        本次MYSQL服务开启(或重置)到现在总请求数

  7. 思考题:clock类编写

    题目 为便于后文理解,这里先补上这份代码前文开的库以及宏定义: #include<cstdio> #include<iostream> #include<string&g ...

  8. 【MySQL参数】-innodb_additional_mem_pool_size

    原博客:https://yq.aliyun.com/articles/32384

  9. day63-html-列表,表格,标签的嵌套规则

    1.列表 1.无序列表 <ul type="disc"> <li>a</li> <li>b</li> </ul&g ...

  10. android新闻项目、饮食助手、下拉刷新、自定义View进度条、ReactNative阅读器等源码

    Android精选源码 Android仿照36Kr官方新闻项目课程源码 一个优雅美观的下拉刷新布局,众多样式可选 安卓版本的VegaScroll滚动布局 android物流详情的弹框 健身饮食记录助手 ...