6

当用户使用相同的数据请求相同的页面时......我希望 Django 返回 304,以便浏览器不必重新加载页面。

我是新手。如何才能做到这一点?

谢谢。

4

2 回答 2

13

Django 文档中有广泛的描述:条件视图处理

以下工具特别有用:

  1. @last_modified@etag视图装饰器。你为他们提供了一个函数来计算请求中的值,其他一切都是自动完成的。
  2. django.middleware.http.ConditionalGetMiddleware-- 它生成所需的 ETag 并在缓存命中时返回 304,但这仍然需要服务器时间来生成完整的 HTML,并且只保存网络时间。对于单行配置更改仍然非常有用。
于 2010-02-18T09:10:50.977 回答
6

您可以查看 Django 的缓存系统,或者如果您可以轻松检查用户是否在请求相同的数据,您可以返回HttpResponseNotModified()- 这将返回 304。查看此处的文档。

于 2010-02-18T09:26:37.950 回答