我正在try 使用基于类的视图(TemplateView)来缓存页面,但我无法.我按照这里的指示:

Django--URL Caching Failing for Class Based Views

就像这里一样:

https://github.com/msgre/hazard/blob/master/hazard/urls.py

但是我得到了这个错误:

cache_page has a single mandatory positional argument: timeout

我读取了CACHE_PAGE的代码,它具有以下内容:

if len(args) != 1 or callable(args[0]):
    raise TypeError("cache_page has a single mandatory positional argument: timeout")
cache_timeout = args[0]

这意味着它不允许超过1个参数.有没有其他方法可以让cache_page正常工作??我调查这件事已经有一段时间了.

以前的解决方案似乎不再管用了

推荐答案

根据caching docs,在URL中缓存CBV的正确方式是:

from django.views.decorators.cache import cache_page

url(r'^my_url/?$', cache_page(60*60)(MyView.as_view())),

请注意,您链接的答案已过期.旧的使用装饰物的方式已经被移除(changeset).

Django相关问答推荐

如何在REST框架中以SON格式返回错误,而不是HTML格式返回错误?

在Django的个人页面中的问题

基于Django类的视图:除非登录,否则拒绝访问future 日期

通过在其他查询中使用来过滤对象

DJANGO 获得模型中发现的第一、第二和第三大价值

无法迁移,模型中的外键导致了问题

将两个视图重定向到具有不同 url id Django 的一个模板的正确方法

Django 获取用户创建的对象,这些用户属于用户列表

如何在Django中制作一个不 Select 以前日期的日期 Select 器

如何在 django 的列表中查找所有对象作为对象?

使用django提交后如何保留html表单数据?

Django `UniqueConstraint` 异常处理方式与 'unique=True' 相同

获取 Django 中的缓存键列表

在 Django 过滤器语句中,__exact 和等号 (=) 有什么区别?

在 django admin 中创建对象时如何自动插入当前用户?

测试 Django 信号的正确方法

在 Django 管理页面中注册应用程序中的每个表/类

在 Django 中舍入小数点

AssertionError: `HyperlinkedIdentityField` 需要序列化程序上下文中的请求

在 Django shell 启动时自动导入模型