Neste tutorial, vamos criar um aplicativo web seguro usando Flask, um microframework Python, SQLite, um banco de dados leve baseado em arquivo, e Bootstrap 5, um popular framework CSS. Nosso aplicativo terá funcionalidades básicas de cadastro e login e usará templates para renderizar as páginas.
Configurando o Ambiente
Primeiro, precisamos instalar as bibliotecas necessárias. Você pode fazer isso com o seguinte comando:
pip install flask flask_sqlalchemy
Criando o Aplicativo
Aqui está o código completo do nosso aplicativo, de o nome de app.py:
- Importando as bibliotecas necessárias
- São os códigos essenciais para o funcionamento do sistema.
- Configurando o aplicativo e o banco de dados
- app= Flask(__name__) obs: aqui configuramos o aplicativo web.
- Definindo o modelo de usuário:
- Class User, estamos modelando o banco de dados, id, username e password_hash são os campos do banco de dados.
- Criando o banco de dados:
- with cria o banco
- A rota
/
renderiza a página inicial. - A rota
/cadastro
permite aos usuários se cadastrarem. Se o método da requisição for POST, o código recupera o nome de usuário e a senha do formulário, cria um hash da senha, cria um novo usuário e o adiciona ao banco de dados. Em seguida, renderiza a página de cadastro com uma mensagem de sucesso. - A rota
/login
permite aos usuários fazerem login. Se o método da requisição for POST, o código recupera o nome de usuário e a senha do formulário, cria um hash da senha e verifica se existe um usuário com esse nome de usuário e hash de senha no banco de dados. Se existir, redireciona o usuário para a página inicial. Se não, renderiza a página de login com uma mensagem de erro. - A rota
/home
renderiza a página inicial.
- A rota
/login
permite aos usuários fazerem login. Se o método da requisição for POST, o código recupera o nome de usuário e a senha do formulário, cria um hash da senha e verifica se existe um usuário com esse nome de usuário e hash de senha no banco de dados. Se existir, redireciona o usuário para a página inicial. Se não, renderiza a página de login com uma mensagem de erro. - A rota
/home
renderiza a página inicial. - Iniciando o aplicativo: Finalmente, se o script for o principal (ou seja, não importado de outro script), iniciamos o aplicativo Flask.
Criando os Templates
Vamos criar alguns templates para nosso aplicativo. Todos os templates estenderão um template base, que incluirá o Bootstrap 5.
Template Base
Aqui está o código para o template base (base.html
):
Template de Cadastro
Aqui está o código para o template de cadastro (cadastro.html
):
Template de Login
Aqui está o código para o template de login (login.html
):
Template da Página Inicial
Aqui está o código para o template da página inicial (home.html
):