2011-05-25 38 views
0

应该在哪里处理'会话相关的东西'。例如:Django推荐的会话信息练习

# 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?例如,如果我存储大量会被许多视图/页面访问的会话变量?

回答

1

那么,会话需要一个请求对象的可用性。所以,这非常有必要以某种形式或方式在视图中处理。整个“脂肪模型,瘦身控制器”的口头禅往往会吓倒人们从视野中(这实际上是Django中的控制器)做了很多事情。但是,遵循的指南是业务逻辑属于模型,但视图逻辑属于视图。会话本质上是与观点相关的,所以我没有看到在那里与他们一起工作的任何问题。

你在会话中存储多少数据是相当不重要的,至少从逻辑走向的意义上说。 (它在页面加载等方面有点重要。)