gpt4 book ai didi

django - 在 Django 中缓存半动态 View

转载 作者:行者123 更新时间:2023-12-04 05:50:49 26 4
gpt4 key购买 nike

我在 Django 中有一个“半动态” View 。就我而言,它为首次访问者和回访者提供不同的内容。我知道我的 View 可以在呈现响应之前运行各种逻辑,但这会使 View (及更高级别)中的缓存变得不可能,因为不同类型的用户(根据 cookie、 session 数据或用户数据)将获得一个不同的 react 。

我正在考虑实现这一点的几种选择:

  • 从我的 View 重定向到另一个缓存的 View 。我不喜欢这种方法,因为它会影响 UX(更改 URL)。我知道如果我想在 HTTP 服务器级别缓存,我需要选择这种方法。
  • 使用缓存标签在模板级别缓存(实际上可以缓存整个模板,从头到脚)。这样,我仍然可以为每个案例使用不同的模板。我想这是一个不错的方法,它仍然涉及运行模板引擎,这是我宁愿避免的。
  • 直接使用缓存框架在 View 中缓存准备好的 HttpResponse 对象。实际上,这听起来会提供最佳性能,但感觉有点像“重新发明轮子”。

  • 还有其他想法吗?任何标准的方法来做我所缺少的?

    最佳答案

    在处理动态响应时,使用缓存模板标签是最好的选择。任何时候您在登录用户、 session 存储等方面发生变化时,您都无法缓存整个响应。使用缓存模板标签缓存模板的不变位是下一个最好的事情。那么,至少,只需要处理实际的动态部分。

    关于django - 在 Django 中缓存半动态 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10073959/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com