2011-06-07 80 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

相关问题