小编adi*_*tya的帖子

如何在将密码保存到用户模型 Django 之前对其进行加密?

我创建了一个用户注册页面,它将用户添加到 Django 中的用户模型中

但保存数据时,密码未加密,即仅存储为文本。当用户尝试登录时,这会产生问题(因为 Django 尝试解密原始密码,但它们都不匹配)。

另外,我正在扩展用户模型,以便添加有关保存在配置文件模型中的用户的更多信息(使用一对一链接)

视图.py

def user_signup(request):
    if request.method == "POST":
        user_form = userSignup(request.POST)
        phone = request.POST['phone']
        address = request.POST['address']
        pincode = request.POST['pincode']
        
        if user_form.is_valid() :
            user = user_form.save()
            auth.login(request,user)
            userdata = User.objects.all()
            for userinfo in userdata:
                if userinfo.username == user.username:
                    user_id=user.id
            update_data = Profile.objects.get(pk = user_id)
            update_data.address=address
            update_data.phone=phone
            update_data.pincode=pincode
            update_data.save()
            return redirect('/')

        else:
            return HttpResponse(" SIGNUP FAILED")

    else:
        form = userSignup()
        profile_form = userSignup_profile()
        return render(request,"user_signup.html",{'form':form, 'profile_form':profile_form})


def user_logout(request):
    auth.logout(request)
    return redirect('/')
Run Code Online (Sandbox Code Playgroud)

用户注册.html

<body>
    <form action="user_signup" …
Run Code Online (Sandbox Code Playgroud)

django django-models django-forms django-registration django-users

6
推荐指数
1
解决办法
1万
查看次数