Django 提交时Abstractuser未响应的PasswordChangeForm

Django 提交时Abstractuser未响应的PasswordChangeForm,django,change-password,Django,Change Password,我有一个自定义的用户模型 class User(AbstractUser): company = models.CharField(max_length=30, blank=True) 当我尝试使用ChangePasswordForm更改密码时,在提交时,什么也没有发生 @login_required def change_password(request): if request.method == 'POST': form = PasswordChangeForm(

我有一个自定义的用户模型

class User(AbstractUser):
company = models.CharField(max_length=30, blank=True)
当我尝试使用ChangePasswordForm更改密码时,在提交时,什么也没有发生

@login_required
def change_password(request):
    if request.method == 'POST':
        form = PasswordChangeForm(data=request.POST, user=request.user)
        if form.is_valid():
            form.save()
            update_session_auth_hash(request, form.user)
            return redirect('/account/profile')
    else:
        form = PasswordChangeForm(request.user)
        args = {'form': form}
        return render(request, 'accounts/change_password.html', args)
更改密码.html

{% extends 'base.html' %}
{% block head %}
{% endblock %}
{% load crispy_forms_tags %}
{% crispy form form.helper %}
{% block body %}
<div class="container-fluid">
  <div class="card">
    <div class="card-body">

      <h3>Change password</h3><br>

<form method="post">
  {% csrf_token %}
  {% crispy form %}
  <button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
</div>

</div>
{%endblock%}
{%extends'base.html%}
{%block head%}
{%endblock%}
{%load crispy_forms_tags%}
{%crispy form.helper%}
{%block body%}
更改密码
{%csrf_令牌%} {%crispy form%} 提交 {%endblock%}
这是以前使用常规用户模型的情况
希望有人能帮忙

你所说的“什么都没发生”是什么意思?您的浏览器是否发出请求(您可以使用浏览器工具进行检查)。如果有,请添加一些打印/日志记录,以查看视图遵循的代码路径。请注意,当
request.method==“POST”
但表单无效时,视图不会处理这种情况。您可以通过将最后两行移出
else:
块来解决此问题。实际上什么也没有发生,而且在浏览器工具中,我看不到有任何请求正在发出。(控制台中没有显示任何内容)。我把最后几行移到了else:block之外,但仍然得到了相同的结果。对不起,我完全弄乱了我的模板,它现在可以正常工作了。