为什么 Django 缓存会导致 CSRF 违规和模板渲染错误?
Why does Django caching cause CSRF violation and faulty template rendering?
我在生产中使用 Django 和 Memcached,据我所知,缓存系统似乎工作正常,但是,它会导致我的应用程序出现某些错误:
- 每当提交表单时,我都会收到 CSRF 错误,因为出于某种未知原因,CSRF 令牌被缓存。
- 我的模板也无法正确呈现,例如,当用户登录时,我的模板中有一个条件检查用户是否已通过身份验证,但在查看页面时,模板没有更新并且仍在显示缓存版本。
如果有人知道这里发生了什么以及我该如何解决这个问题,请告诉我。
你应该fragment cache template,
这样您就不会缓存应该随每个请求更改的部分
我在生产中使用 Django 和 Memcached,据我所知,缓存系统似乎工作正常,但是,它会导致我的应用程序出现某些错误:
- 每当提交表单时,我都会收到 CSRF 错误,因为出于某种未知原因,CSRF 令牌被缓存。
- 我的模板也无法正确呈现,例如,当用户登录时,我的模板中有一个条件检查用户是否已通过身份验证,但在查看页面时,模板没有更新并且仍在显示缓存版本。
如果有人知道这里发生了什么以及我该如何解决这个问题,请告诉我。
你应该fragment cache template, 这样您就不会缓存应该随每个请求更改的部分