【发布时间】:2025-12-20 20:55:06
【问题描述】:
Django 通过覆盖默认模板为“忘记密码”提供了一个简单而快速的选项。
其中一些表单带有帮助文本
我从电子邮件中获得重置链接的密码重置确认,我不知道如何摆脱帮助短信。
显示在 password_reset_confirm.html,使用 {{ form.as_p}}
有什么方法可以删除帮助文本,而不需要扩展 forms.py 中的 ResetPasswordForm 以将帮助文本设置为无。
这很复杂,因为这个表单的 url 需要令牌。
我试过这个,但我几乎可以肯定它不会起作用。
forms.py
class ResetPassword(PasswordResetForm):
class Meta:
fields = ("new_password1", "new_password2")
model = get_user_model()
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields["new_password1"].help_text = None
views.py
class resetpassword(LoginRequiredMixin, generic.UpdateView):
template_name = "registration/password_change_form.html"
success_url = reverse_lazy('password_reset_complete')
form_class = forms.ResetPassword
def get_object(self, queryset=None):
return self.request.user
def get_form_kwargs(self):
kwargs = super(resetpassword, self).get_form_kwargs()
kwargs['user'] = kwargs.pop('instance')
return kwargs
【问题讨论】:
标签: python django django-forms django-templates