2010-08-10 61 views
1

這是一個關於MVC的普遍問題。我在哪裏爲Pylons的標題設置公共數據?

我有一套用於多個控制器及其操作的模板。它們都從包含頁腳/標題的整體模板繼承。

我想要標題來呈現當前登錄的用戶的電子郵件。通用任務。

所有教程都過於簡單,無法提供有關如何以及在何處傳遞所有控制器操作(操作集)的公共數據的基本示例。

我是否需要修改BaseController以將數據添加到tmpl_context? 或者創建另一個類,比如BaseControllerForActionsWithHeaderData,它在____之前有____方法設置tmpl_context.email ...?

回答

1

如果您需要這些變量中的任何一個,原則上對於您的應用程序中的每個控制器,可能最好的辦法是將它們放在BaseController的__before__方法中。如果你只需要幾個控制器就需要它們,你應該爲它創建一個單獨的類。另一個選擇是使用每個方法的裝飾...

從來沒有在文檔中遇到過一個建議如何在「塔式風格」中做到這一點,但我不認爲這是非常重要的,你應該爲你選擇最方便和「乾淨」的方式。

相關問題