django的扩展http缓存

django-cache的Python项目详细描述


Django视图增强的cache_page装饰器。

https://travis-ci.org/renskiy/django-cache.svg?branch=masterhttps://coveralls.io/repos/github/renskiy/django-cache/badge.svg?branch=master

兼容性

Django缓存在Python2.7、3.4、3.5和3.6上与Django 1.8、1.9、1.10和1.11一起正常工作。

优点

  • 修复了一定数量的错误(包括#15855
  • 支持可调用的cache_timeoutkey_prefix参数
  • 缓存时间可由客户端限制(最小缓存时间可管理,默认为0)

用法

fromdjangocacheimportcache_page@cache_page(cache_timeout=600)defview(request):pass

last_modified和/或etag视图装饰符组合

如果您计划在与last_modified和/或etag一起使用cache_page,后者必须放在cache_page

fromdjangocacheimportcache_pagefromdjango.views.decorators.httpimportlast_modified,etagdefetag_generator(request,*args,**kwargs):return'ETag!!'@cache_page(cache_timeout=600)@etag(etag_generator)defview(request,*args,**kwargs):pass

django设置

DJANGOCACHE_MIN_AGE-用于设置缓存的最短期限。默认值为0,这意味着客户端可以通过提供头Cache-Control:max-age=0来请求服务器跳过缓存。

@cache_pageparams

  • cache_timeout。默认值是settings.CACHE_MIDDLEWARE_SECONDS
  • key_prefix。默认值是settings.CACHE_MIDDLEWARE_KEY_PREFIX
  • cache_alias。默认值为settings.CACHE_MIDDLEWARE_ALIAS,如果设置为None,则为settings.DEFAULT_CACHE_ALIAS
  • cache_min_age。默认值是settings.DJANGOCACHE_MIN_AGE

安装

pip install --upgrade django-cache

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓在java中加入字符串组以创建复合字符串   java系统甚至不点击“下一步”或“上一步”按钮就将我返回到上一页,而不是进入下一页   java如何在arrayList中获取特定列的不同值   CXF GZIP REST JAVA   Java:使用大量半恒定标志检查优化循环中的循环?   java如何在两个应用程序之间进行会话管理?   java SVG文件使用蜡染(但没有轴线)转换为PNG   使用协议缓冲区和内部数据模型的java   java如何在logtag 安卓中打印和查看字符串的值   javascript如何在NodeJs中应用Java/Spring的分层架构?   java Spring URL在JSP中编码不正确   模式对话框后面的java工具提示   java WSRPC生成日历对象而不是日期   在对象外部无法识别类变量   java将图像从文件读/写到BuffereImage的最快方法?   JavaSpring数据存储库对具有不同Id的子类使用抽象超类   安全在Java 5.0上运行web应用程序服务器有危险吗?