应该在哪里处理'与会话相关的东西'。例如:
# 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"]
这应该在view
中完成吗?在__init__
?在model
?例如,如果我存储了大量可由多个视图/页面访问的会话变量,该怎么办?
答案 0 :(得分:1)
好吧,会话要求提供请求对象。因此,几乎需要以某种形式或方式在视图中处理它。整个“Fat Model,Skinny Controller”的口头禅倾向于吓唬人们在视图中做太多事情(这实际上是Django中的控制器)。但是,遵循的指南是业务逻辑属于模型,但视图逻辑属于视图。会话本质上与视图相关,因此我认为在那里使用它们没有任何问题。
您在会话中存储的数据量是非常无关紧要的,至少在逻辑发生的意义上是这样。 (在页面加载等方面确实有点重要。)