如何正确更新Django中的用户个人资料

Kossay Rhafiri

我创建了一个表单来更新django配置文件,我使用默认的用户模型,当我提交表单并注销并尝试再次登录时,新密码不起作用,而旧密码起作用。这是我的更新视图:

def edit_profil_to_base(request):
    if not request.user.is_authenticated:
        return redirect('authentification')
    else:
        nom_profil_new = request.POST.get('nom_profil')
        nom_profil_old = request.user.username
        old_mdp = request.POST.get('old_mdp')  # type: object
        new_mdp = request.POST.get('new_mdp')
        final_mdp = request.POST.get('final_mdp')
        mdp = request.user.set_password(new_mdp)
        if request.user.check_password(old_mdp) and new_mdp == final_mdp:
            User.objects.filter(username=nom_profil_old).update(username=nom_profil_new, password=mdp)
        logout(request)
        return redirect('authentification')

new_mdpfinal_mdp是新密码和密码的确认

丹尼尔·罗斯曼

您需要使用set_password您无法通过进行此操作update,但您无需这样做:您已经有了实际的对象request.user

user = request.user
if user.check_password(old_mdp) and new_mdp == final_mdp:
    user.username = nom_profil_new
    user.set_password(mdp)
    user.save() 

但是,您实际上应该对所有这些都使用ModelForm。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Django中链接到其他用户的个人资料?

如何允许用户在Django中编辑其个人资料?

如何访问Django模板中的用户个人资料?

在Django 1.7中扩展用户个人资料

Django:如何通过ModelForm更新个人资料图片?

如何使用Django显示用户个人资料?

如何在Firebase中更新用户个人资料?

如何在Django中更新用户个人资料

在Django中的用户个人资料'Syntax Erro'r

用户更新个人资料后如何更新id_token

如何在Django上链接到用户的个人资料

在Django中自动更新个人资料图片

使Rails中的用户个人资料偏爱

流星用户个人资料更新

使用Django Rest Framework API更新用户个人资料

如果用户更新个人资料图片,则在JSON中更新键值

在Laravel 5.1中更新用户个人资料

如何在 django 中显示编辑的个人资料图片

编辑个人资料用户 Django

如果用户在登录后更改了他的 facebook 个人资料详细信息,如何在我的应用程序中更新 facebook 个人资料?

标题 Django 中奇怪的用户个人资料数据

如何在 DRF 中更新个人资料图片

编辑我的个人资料页面不更新用户个人资料

我想更新所有帖子中的用户个人资料图片以及他在用户更新/更改他的个人资料图片时发布的图片

DJANGO - 访问某些用户的个人资料

如何在快递中更新用户的个人资料?

更新现有用户的个人资料是在与 MongoDB 连接的 Django 中创建一个新用户

Django 获取特定用户的个人资料

在 Django 中停用用户及其个人资料的正确方法