将自定义变量传递给Django中的password_change视图

时间:2011-06-07 15:50:51

标签: django django-templates django-views

我想使用contrib.auth的密码更改视图。

所以这就是我所做的:

  1. 创建了一个扩展PasswordChangeForm以向窗口小部件添加html类的表单
  2. 创建了registration / password_change.html模板。因为您从登录状态执行密码更改,所以此模板必须从base_site.html继承,该base_site.html向用户显示一堆信息(除了表单)。
  3. 更新了我的urls.py以创建URL的模式,将表单名称传递给视图。
  4. 这是我难倒的地方。模板,它根据一些自定义变量呈现内容。例如,模板具有自定义标记,可从上下文中获取信息。

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

    我的问题是:将域特定上下文传递给模板有哪些选择?我应该继续将password_change视图(复制和粘贴)重写到我的应用程序视图中吗?

1 个答案:

答案 0 :(得分:1)

Django的通用视图为此目的提供了extra_context参数。但是,auth按原样提供其视图;你不必使用它们。

您唯一的选择是简单地重新创建视图。您可以复制password_change中的代码作为指南,但请确保在将其删除之前了解它的作用。