当前位置: 首页 > 面试题库 >

如何使用自己的模板使用内置的密码重置/更改视图

符棋
2023-03-14
问题内容

例如,我可以点url '^/accounts/password/reset/$'django.contrib.auth.views.password_reset我的背景下,模板文件名,但我认为有必要派遣更多的上下文信息。

我需要确切地知道为每个密码重置和更改视图添加什么上下文。


问题答案:

你会注意到,password_reset它带有一个名为的命名参数template_name:

def password_reset(request, is_admin_site=False, 
            template_name='registration/password_reset_form.html',
            email_template_name='registration/password_reset_email.html',
            password_reset_form=PasswordResetForm, 
            token_generator=default_token_generator,
            post_reset_redirect=None):

检查password_reset以获取更多信息。

因此,使用类似urls.py的代码:

from django.conf.urls.defaults import *
from django.contrib.auth.views import password_reset

urlpatterns = patterns('',
     (r'^/accounts/password/reset/$', password_reset, {'template_name': 'my_templates/password_reset.html'}),
     ...
)

django.contrib.auth.views.password_reset'/accounts/password/reset'与关键字参数匹配的URL将被调用template_name = 'my_templates/password_reset.html'

否则,你无需提供任何上下文,因为password_reset视图会自行处理。如果要查看可用的上下文,则可以触发TemplateSyntax错误,并在堆栈跟踪中查找具有名为的局部变量的框架context。如果你想修改上下文,那么我上面所说的关于上下文处理器的方法可能就是解决方法。

总结:使用自己的模板需要做什么?template_name在调用视图时,为视图提供关键字参数。你可以通过将字典作为URL模式元组的第三个成员来为视图提供关键字参数。



 类似资料:
  • 模板文件:User/password_reset.html <form class="form-horizontal js-ajax-form" action="{:U('user/login/doforgot_password')}" method="post"> <label class="control-label" for="input_email">注册邮箱</label>

  • 如何在ubuntu服务器中更改MySQL root密码和用户名?在设置任何更改之前,我需要停止mysql服务吗? 我也有一个phpmyadmin设置,phpmyadmin会自动更新吗?

  • 如果我在AWS Cognito中单击用户的“重置密码”按钮,它所做的就是重新发送验证电子邮件,其中包含帐户注册电子邮件代码。 但是,如果用户获取该代码并将其输入验证页面,AWS将返回错误: 首先,我如何让Cognito发送真正的“密码重置”电子邮件,而不是“确认您的注册”电子邮件? 我假设它给我这个错误,因为验证JS正在调用: 而不是一些未记录的密码重置功能。我应该调用什么函数?

  • 我无法使用keytool(java 8)更改PKCS密钥库密码。当我试图更改密钥密码时: 这意味着无法更改PKCS12密钥库的密钥密码。然后我尝试更改keystore密码: 这意味着,我们必须一起更改密钥库密码和密钥密码。但是没有命令可以改变两者。我能做什么呢?

  • Redis将自己的配置目录更改为/etc/cron。将d和dbfile转换为ntp,而不是默认配置。一旦我们重新启动redis,它将重置为/var/lib/redis并转储。rdb,但过了一段时间,它给出了“无法打开rdb文件”错误 默认dire和rdb文件具有正确的权限,redis只允许内部IP。 cli输出 /var/log/redis/redis服务器。日志

  • 我使用, Spring Framework 4.0.0 RELEASE(GA) Spring Security 3.2.0 RELEASE(GA) Struts 2.3.16 我在其中使用, 我的文件如下所示。 的实现如下。 无需参考这些类。 我的问题是在使用时, 可以将UserDetailsManager注入控制器及其 方法可用于更改密码。我从未尝试过这一点,但它可能大致实现如下。 在控制器中,