Estou enfrentando esse erro após instalar o werkzeug e ter feito praticamente todas as soluções possíveis no fórum, e nenhuma resolveu, tentei reinstalar algumas versões das bibliotecas e tudo está dando no mesmo resultado.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Estou enfrentando esse erro após instalar o werkzeug e ter feito praticamente todas as soluções possíveis no fórum, e nenhuma resolveu, tentei reinstalar algumas versões das bibliotecas e tudo está dando no mesmo resultado.
Bom dia, Fellipe! Como vai?
Esse erro que está relacionado com a biblioteca do Werkzeug, normalmente acontece quando é utilizado uma versão da biblioteca que está depreciada ou que não tem compatibilidade com a versão do Flask que está sendo utilizada.
Imagino que por estar em um módulo bem avançado do curso o seu problema não é com a versão do Flask, então precisarei que você compartilhe comigo todo o seu projeto, para que eu faça testes para identificar onde esse erro está sendo causado. Envie através do GitHub ou Drive do Google.
Ah, antes de compartilhar, peço que rode o comando pip freeze > requirements.txt, assim será criado um arquivo de texto com todas as bibliotecas e suas versões.
Bom dia, Felipe!
Vou apresentar os problemas separadamente para você entender melhor.
Primeiro sobre o Werkzeug, a versão instalada durante a aula é bem antiga comparada com a usada atualmente, sem falar que atualmente o Werkzeug já é instalado juntamente com o Flask, logo acaba sendo desnecessário instalar ele novamente. Segue uma solução para o problema de versões:
bcrypt==4.1.2
blinker==1.7.0
click==8.1.7
colorama==0.4.6
Flask==3.0.2
Flask-Bcrypt==1.0.1
Flask-Login==0.6.3
Flask-SQLAlchemy==3.0.3
Flask-WTF==1.2.1
greenlet==3.0.3
itsdangerous==2.1.2
Jinja2==3.1.2
MarkupSafe==2.1.3
mysql-connector-python==8.0.28
mysqlclient==2.2.4
protobuf==4.25.2
SQLAlchemy==2.0.27
typing_extensions==4.9.0
Werkzeug==3.0.4
WTForms==3.1.2
Atualize o seu requirements.txt para conter as versões e bibliotecas que mostrei acima.
Agora sobre o erro apresentado no seu print, ele acontece quando tentamos fazer login com uma senha criptografada e que será comparada com a senha do banco, também criptografada, mas usando um salt diferente, a qual é o caractere usado na criptografia para deixar a senha segura.
De maneira geral, ou a senha cadastrada no banco não está criptografada, ou foi criptografada usando outro padrão. Isso me leva a pensar que você não rodou o arquivo prepara_banco.py antes de tentar realizar login novamente.
Então, minha solução para esse problema é que você rode o arquivo prepara_banco.py, assim será criado um novo usuário com a sua senha criptografada.
Espero que isso resolva o seu problema!