Ads Top

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.
                                              - Robin Sharma em "O monge que vendeu a sua Ferrari"
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.

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 nomedoscriptpython import 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!



Se consultarmos o banco, veremos que o código está enviando os dados corretamente:


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!

Veja também: Construindo Mapas Web usando o Folium




Nenhum comentário:

Tecnologia do Blogger.