在Django中,我可以全局设置vary_on_cookie吗?

0 投票
2 回答
674 浏览
提问于 2025-04-16 12:05

在开发Django应用时,我可以使用vary_on_cookie这个装饰器,确保上游缓存除了使用网址外,还能通过会话cookie来区分不同的页面。

我有很多视图函数,现在所有的函数都需要这个头信息。有没有办法一次性设置这个行为(比如在整个网站的设置文件中,或者至少在整个应用中)?还是说我真的必须在每个视图函数前面都重复写这个装饰器?

非常感谢你的帮助...

相关问题:

2 个回答

0

使用SessionMiddleware会让每次请求都在Cache-Control的头信息里添加Cookie

1

听起来你可能需要自己写一个中间件,这样就可以在每个请求中添加你想要的额外头信息。

创建中间件其实很简单,你可能会对process_response这个方法感兴趣,因为你只需要修改响应就可以完成了。

如果你想修改HttpResponse的头信息,可以查看这里的文档

撰写回答