Python 如何在django中使用UpdateView更改用户密码

Python 如何在django中使用UpdateView更改用户密码,python,django,Python,Django,我有一些代码 1.当我试图更改用户密码时,数据库中存储的密码是纯文本。 2.在未输入密码的情况下提交表单时,数据库密码为空 我该怎么办?谢谢 class UserUpdate(LoginRequiredMixin, SuccessMessageMixin, UpdateView): model = User template_name = 'users/UserUpdate.html' context_object_name = 'UserUpdate' form_class = UserUpd

我有一些代码
1.当我试图更改用户密码时,数据库中存储的密码是纯文本。
2.在未输入密码的情况下提交表单时,数据库密码为空

我该怎么办?谢谢

class UserUpdate(LoginRequiredMixin, SuccessMessageMixin, UpdateView):
model = User
template_name = 'users/UserUpdate.html'
context_object_name = 'UserUpdate'
form_class = UserUpdateForm
success_url = reverse_lazy('UserList')
success_message = 'update success'

def form_valid(self, form):
    password = form.cleaned_data.get('password')
    if not password:
        return super().form_valid(form)


    return super().form_valid(form)
形式

这里有一个例子:

如果您想让发布的代码生效,可以对用户使用
set\u password()

user.set_password('new password')
user.save()
但是,正如蒂米·奥马奥尼(Timmy O'Mahony)所说,最好使用

这里有一个例子:

如果您想让发布的代码生效,可以对用户使用
set\u password()

user.set_password('new password')
user.save()

但是,正如Timmy O'Mahony所说,最好使用可用于自定义视图的现有
django.contrib.auth
表单。您应该使用可用于自定义视图的现有
django.contrib.auth
表单