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如何处理可以为null或整数的POJO类值   JavaFXSpring类NotFoundException:org。springframework。上下文注释。注释ConfigApplicationContext   java Jackson JSON不包装嵌套对象的属性   编写多个SQL查询的java最佳实践   安卓 java。lang.IllegalStateException:无法提取AndroidPlatform、sslSocketFactory上的信任管理器   MongoDB/Morphia将技术id保存为ObjectId,尽管它在Java中是一个字符串   JavaEclipse只加载log4。测试文件夹中的属性   java如何通过次对角线遍历2D数组?   java在geotools jmappane中制作shapefile编辑器   数组如何在java中获得表大小2^32   java API调试。如何查找函数体之前发生的错误?   java如何创建二维数组,其中#1位于随机位置,并执行特定次数   java文本文件比较   java SDK支持diff spring版本   javaspring引导集成测试javax。坚持不懈PersistenceException:org。冬眠PersistentObject异常