2011-06-07 114 views
0

我想使用contrib.auth中的password_change視圖。將自定義變量傳遞給Django中的password_change視圖

因此,這裏是我做過什麼:

  1. 創建擴展PasswordChangeForm到HTML類添加到窗口小部件
  2. 創建登記/ password_change.html模板的表單。由於您從登錄狀態執行密碼更改,因此此模板必須從base_site.html繼承,該base_site.html向用戶顯示一組信息(除了表單)。
  3. 已更新我的urls.py以創建URL模式,並將表單名稱傳遞給視圖。

這是我難住的地方。該模板根據一些自定義變量呈現內容。例如,該模板具有自定義標籤,可從上下文獲取信息。

business = context.get('business',None) 

我的問題是:我有什麼選擇將域特定的上下文傳遞給模板?我應該繼續並將password_change視圖(複製並粘貼)重寫到我的應用程序視圖中嗎?

回答

1

爲此目的,Django的通用視圖emply參數extra_context。然而,auth提供了它的觀點,你不必使用它們。

您唯一的選擇就是重新創建視圖。您可以複製password_change中的代碼作爲指導,但請確保在您將其放入之前瞭解其功能。

+0

感謝您的回答。我認爲大多數可重用的應用程序都遵循接受extra_context的設計模式,然後將額外的上下文合併到上下文中。但是,contrib.auth似乎沒有遵循這種模式。 – arustgi 2011-06-07 17:24:19

相關問題