2011-05-25 64 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中的控制器)做了很多事情。但是,遵循的指南是業務邏輯屬於模型,但視圖邏輯屬於視圖。會話本質上是與觀點相關的,所以我沒有看到在那裏與他們一起工作的任何問題。

你在會話中存儲多少數據是相當不重要的,至少從邏輯走向的意義上說。 (它在頁面加載等方面有點重要。)