我有一个简单的密码重置表单,我将用户的电子邮件作为输入。相关课程如下。该代码在我的本地计算机上运行良好,但确切的代码在生产服务器中不起作用。在检查渲染视图的来源时,我看到缺少值字段。
预期的o / p是
<form method="POST" action="/accounts/password/reset/" class="password_reset">
<ul class="errorlist"><li>The e-mail address is not assigned to any user account</li></ul>
<p><label for="id_email">E-mail:</label> <input id="id_email" name="email" size="30" type="email" value="someemail@gmail.com" /></p>
<input type="submit" value="Reset My Password" />
在生产服务器中,缺少电子邮件字段的值。我完全失去了为什么会这样。任何指针都将受到赞赏。
class PasswordResetView(FormView):
template_name = "account/password_reset.html"
form_class = ResetPasswordForm
success_url = reverse_lazy("account_reset_password_done")
def get_form_class(self):
return get_form_class(app_settings.FORMS,
'reset_password',
self.form_class)
def form_valid(self, form):
form.save()
return super(PasswordResetView, self).form_valid(form)
def get_context_data(self, **kwargs):
ret = super(PasswordResetView, self).get_context_data(**kwargs)
# NOTE: For backwards compatibility
ret['password_reset_form'] = ret.get('form')
# (end NOTE)
return ret
password_reset = PasswordResetView.as_view()