我有以纯文本形式存储的用户密码列表.我想我需要一个脚本来运行存储的密码并对它们进行哈希处理.我对Django还不熟悉,不知道从哪里开始,也不知道如何开始.
我创建了登录帐户,而创建帐户仅适用于新用户:
@admin_login_required
def add_emp(request):
if request.method == 'POST':
user_name = request.POST['user_name']
user_email = request.POST['user_email']
user_otj = request.POST['user_otj']
user_password = pwo.generate()
user_password1 = make_password(user_password)
empObj = User.objects.create(user_name=user_name, user_email=user_email, user_password=user_password1, user_otj=user_otj)
if empObj:
subject = 'Advanced Analytics Portal - Login Info'
message = f'Name : {user_name}, \n Email : {user_email}, \n Password : {user_password} \n FROM - AA Portal'
email_from = settings.EMAIL_HOST_USER
send_mail(subject, message, email_from, [user_email])
messages.success(request, "Employee was added successfully!")
return HttpResponseRedirect('/create-emp')
else:
messages.error(request, "Some error was occurred!")
return HttpResponseRedirect('/create-emp')
return render(request, 'AddEmp.html')
def user_login(request):
if request.method == "POST":
user_email = request.POST['user_email']
user_password = request.POST['user_password']
user_details = User.objects.filter(user_email=user_email).first()
if user_details and check_password(user_password, user_details.user_password):
request.session['logged_in'] = True
request.session['user_email'] = user_details.user_email
request.session['u_id'] = user_details.user_email
request.session['user_name'] = user_details.user_name
request.session['u_type'] = "emp"
return HttpResponseRedirect('/user_index')
else:
return render(request, 'EmpLogin.html', {'msg': "0"})
else:
return render(request, 'EmpLogin.html')
如何让以前的用户在不为其创建新帐户的情况下登录.