问题描述
|
与会话相关的内容应该在哪里处理。例如:
# Set a session value:
request.session[\"fav_color\"] = \"blue\"
# Get a session value -- this could be called in a different view,# or many requests later (or both):
fav_color = request.session[\"fav_color\"]
应该在ѭ1中完成吗?在__init__
?在model
中?例如,如果我存储了大量将由多个视图/页面访问的会话变量,该怎么办?
解决方法
那么,会话需要请求对象的可用性。因此,非常有必要以某种形式或方式在视图中对其进行处理。整个“胖模型,瘦控制器”的口号往往使人们害怕在视图中做很多事情(本质上是Django中的控制器)。但是,遵循的指南是业务逻辑属于模型,而视图逻辑属于视图。会话本质上是与视图相关的,因此我认为在那里使用它们没有任何问题。
至少从逻辑上讲,您在会话中存储多少数据是无关紧要的。 (这在页面加载等方面确实很重要。)