Aprenda Python - Construa aplicações reais (Parte 3)
Coleta de dados com Flask e PostgreSQL
Trabalhar com banco de dados e consultas pode ser bastante assustador para alguns desenvolvedores iniciantes, ou talvez para a maioria de nós. Talvez eu tenha perdido 100 leitores até agora porque o PostgreSQL está escrito no subtítulo.
Mas como você está aqui, eu quero que você saiba que é uma coisa importante para aprender e eu vou tentar te ajudar a fazer isso. Para fazer isso, antes de continuarmos, quero que você leia o texto citado. Duas vezes.
O que diferencia as pessoas altamente atualizadas daquelas que nunca vivem vidas inspiradas é que elas fazem aquilo que as pessoas menos desenvolvidas não gostam de fazer - mesmo que elas também não gostem de fazê-las.Eu mesmo não gosto muito, mas como Robin Sharma disse, fazer coisas que não gostamos é algo que nos diferencia do rebanho. Nesta parte, vamos criar um site que coleta dados que o usuário inseriu (criado usando o flask) e os armazena em nosso banco de dados (PostgreSQL). Além disso, faremos a transmissão ao vivo para que isso funcione em tempo real.
- Robin Sharma em "O monge que vendeu a sua Ferrari"
Ok, dito isso, vamos começar!!!
Passo 1 - Configurando o Front End
Como discutido anteriormente, nos concentraremos principalmente no back end. Mas isso não significa que abandonaremos todo o resto. Discutirei brevemente tudo para que sirva de reciclagem para os alunos que seguem esta série desde o início.
O Flask é um micro-framework para desenvolvimento web e é frequentemente usado durante o trabalho com o banco de dados. Vamos criar uma página da web a partir da qual podemos obter a entrada do usuário. Criar um site com o Flask é algo fácil. Veja o código abaixo.
Eu fiz o download de um modelo e modifiquei para obter dados de altura, peso, sexo e tamanho do sapato do usuário. Você deve estar pensando por quê?
Altura, e o peso é legal, mas por que o tamanho do sapato? Certo? Você saberá no final. Então, o front end se parece com algo assim. Cabe a você como, projeta seu front end.
O meu eu baixei aqui e depois modifiquei.
Passo 2— Configurando o Back End
2.1 Crie um banco de dados PostgreSQL
Para criar e armazenar dados, vamos precisar de um sistema de gerenciamento de banco de dados. Por isso, estamos usando o PostgreSQL. Se você estiver em uma máquina Windows ou Mac, existem instaladores disponíveis no site oficial e se você estiver em uma máquina Linux, encontre o aplicativo pgAdmin III do Ubuntu Software (16.04 ou posterior).
No entanto, se você estiver usando o Ubuntu 15.10 ou anterior, siga a primeira resposta nesta página do Stack Exchange para instalá-lo manualmente.
Como você pode ver, temos o banco de dados postgres que criamos ao criar um usuário na instalação.
Clique com o botão direito em "databases"para criar um novo banco de dados para armazenar nossos dados. Eu criei um com o nome de coletordedados. Esse é o nome mais legal que eu pensei. Desculpa. Então agora temos nosso conjunto de dados, temos que criar colunas (tabela) nas quais os dados serão armazenados.
2.2 Conectando Banco de Dados e Criando Tabela
O SQLAlchemy nos ajudará a se conectar ao nosso banco de dados e o psycopg é o wrapper do PostgreSQL para Python. Não precisamos nos aprofundar nisso, vamos instalar essas duas bibliotecas e seguir em frente com o nosso código.
$ pip3 install flask_sqlalchemy $ pip3 install psycopg2
Vamos modificar o código Python e ele ficará assim:
o db sublinhado em vermelho não dará problema! |
Temos que configurar nosso aplicativo com nome de usuário, senha e nome do banco de dados. Depois de postgresql: // o primeiro é username, depois dois-pontos e depois password. E finalmente, esse é nosso banco de dados. Uma vez feito, então temos que criar uma instância de SQLAlchemy.
Com a ajuda da nossa instância, criamos um modelo. Em que definimos o nome da tabela e todos os nomes de colunas para os quais queremos entrada do usuário.
Não queremos executar todo o código porque ele está incompleto, portanto, executaremos este modelo manualmente. Vá para o diretório do seu aplicativo, acione o console python (simplesmente digite python) e digite o seguinte:
from nomedoscriptpythonimport db
db.create_all()
Então o script terá criado a tabela e as colunas no banco:
2.3 Armazenar Dados no Banco de Dados
Digite o resto do código conforme a imagem (não se preocupe, o código está no GitHub).
O código irá verificar se o método é POST, se for, ele salvará os dados que o usuário inseriu nas variáveis. Agora temos que criar uma sessão, adicionar dados ao banco de dados e confirmar.
Então db.session.add(data) e o db.session.commit() fazem esse trabalho e redireciona para a página de sucesso!
E assim temos, um "coletor de dados" em Flask!
Esse formulário desenvolvi para um cliente da indústria de calçados por isso o tamanho do pé da pessoa é importante!
Beijo na alma!
Nenhum comentário:
Postar um comentário