在Django中请求作用域数据的最佳方法是什么?

1 投票
2 回答
1744 浏览
提问于 2025-04-16 08:39

我在想有没有一种聪明的方法,可以在请求中传递一些信息,而不需要使用TLS(传输层安全协议)或者把这些信息放在会话里。

其实,我想要的是一些上下文属性,这些属性我希望在请求的处理过程中不要查找太多次,它们是和请求相关的,但没有理由让它们在会话中随意存放。

我想要的东西就像一个和请求绑定的字典,我可以把信息放进去,或者在需要的时候再加载。我可以为请求写一个包装器,然后在中间件中替换掉,但我想先看看这里有没有什么最佳实践?

2 个回答

1

上下文处理器。它们会在每次请求时被调用一次,并且会接收到当前的请求对象——这样你就可以根据当前的请求,往上下文中添加任何数据!

2

直接把字典赋值给请求就可以了。你可以在中间件里做,也可以在你的视图里做,随你喜欢。

撰写回答