Criei um usuário, email e senha e coloquei no model User que o Django disponibiliza para fazer a autenticação.
Acontece que quando peço para atualizar os dados a unica coisa que muda é o email, se eu tento atualizar a senha, não consigo mais fazer o login no sistema, tenho que ir la no Django admin para poder colocar uma senha nova, não consigo eu como usuario trocar minha propria senha. Alguém sabe o por que disso?
Segue o código:
def atualiza_adm(request):
if request.method=='POST':
usuario_id=request.POST['user_id']
atualiza_senha=request.POST['atualiza_senha']
confirma_nova_senha=request.POST['confirma_nova_senha']
u=User.objects.get(pk=usuario_id)
if atualiza_senha == confirma_nova_senha:
u.email=request.POST['atualiza_email']
if atualiza_senha.isdigit():
print('Não é aceito uma senha apenas numérica')
return redirect('configuracoes')
else:
u.password=request.POST['atualiza_senha']
u.save()
else:
print('Deu erro na confirmação das senhas')
return redirect('configuracoes')
return redirect('dashboard')