gpt4 book ai didi

django - 带有自定义用户模型的 PasswordChangeForm

转载 作者:行者123 更新时间:2023-12-04 17:34:32 27 4
gpt4 key购买 nike

我最近通过继承抽象用户实现了我自己的用户模型。
class NewUserModel(AbstractUser):
在我这样做之后 PasswordChangeForm停止工作。我在 UserCreationForm 中修复了这个问题通过覆盖 class Meta:模型领域。然而,ChangePasswordForm没有指定模型,我看不出它不应该与新用户模型一起使用的任何原因。
views.py

class PasswordChangeView(LoginRequiredMixin, FormView):
template_name = 'change_password.html'
form_class = PasswordChangeForm

def get_form_kwargs(self):
kwargs = super(PasswordChangeView, self).get_form_kwargs()
kwargs['user'] = self.request.user
return kwargs

最佳答案

只是花了一天的大部分时间试图实现这一目标。最终我发现用 FBV 实现它非常简单:

@login_required
def UpdatePassword(request):
form = PasswordChangeForm(user=request.user)

if request.method == 'POST':
form = PasswordChangeForm(user=request.user, data=request.POST)
if form.is_valid():
form.save()
update_session_auth_hash(request, form.user)

return render(request, 'user/password.html', {
'form': form,
})

关于django - 带有自定义用户模型的 PasswordChangeForm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26457279/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com