2013-02-22 41 views
1

在Rails中,我使用application_controller來控制用戶會話等事情,並創建對象來填充網站的各個部分,如菜單。相當於Rails的Django application_controller

這應該怎麼做在Django,因爲沒有一種「應用程序視圖」?您是否必須使用自定義過濾器和部分模板來進行包含,例如在基本模板中執行此操作?

我也一直在尋找基於課堂的意見,但我不確定是否是這樣。

回答

2

有幾種方式來實現:

  • 模板標籤
  • 語境處理器
  • 類爲本次
  • 中間件

這只是取決於你需要什麼去做。 request.user始終存在於請求對象中,即使它是匿名用戶,所以您無需執行任何特殊操作即可從模板或服務器端代碼中訪問該對象。

Inclusion tags就像在Rails中渲染部分一樣。 SignalsClass-Based views與您在控制器過濾器中找到的接近。

我在學習Django時發現最有用的書籍之一(我從Rails去Django)是Practical Django ProjectsThe Definitive Guide to Django也可免費獲得。

+0

謝謝,我會研究這個! – user1121487 2013-02-22 15:41:49

+0

不客氣。 FWIW,使用這兩個框架製作了企業級項目,我非常喜歡Django到Rails。非常靈活,而且魔術少得多。 – Brandon 2013-02-22 15:46:25

+0

期待學習Django。我剛剛嘗試了Rails幾個星期,並且非常喜歡它。但是現在我開始喜歡Django了。 – user1121487 2013-02-22 16:05:31