Frasco Python explicado em 5 minutos ou menos

Python Flask é um microframework para construção de aplicações web em Python.

É uma estrutura muito flexível e personalizável que facilita o aprendizado. Como resultado, é uma escolha popular na construção de servidores web. Este artigo apresenta o Python Flask: o que é, como se compara a outros frameworks e como criar um aplicativo básico em Python.

O que é frasco?

Frasco é uma estrutura para construção de servidores web em Python. Ao contrário de outras estruturas, não força o desenvolvedor a se conformar com uma estrutura de diretório específica.

Além disso, não tem opinião própria, permitindo que você use as ferramentas de sua preferência para realizar ações como conectar-se a um banco de dados e validar entradas de formulários.

Conforme mencionado, o Flask é usado para construir servidores web. Um servidor web é um software que responde a solicitações HTTP com os dados e arquivos apropriados.

Flask vs. outras estruturas

Esta seção irá comparar brevemente o Flask com duas outras estruturas populares – Django e Fast API. Abordaremos os benefícios e limitações do uso do Flask em relação a outras estruturas.

Frasco vs. Django

Flask é uma microestrutura leve. Ele oferece simplicidade e flexibilidade aos desenvolvedores, permitindo que você construa conforme avança. No entanto, isso significa que você mesmo deve trabalhar muito.

Por outro lado, Django é um framework “incluído com baterias” que vem com muitas ferramentas pré-configuradas. Isso permite que você construa e envie com mais rapidez. No entanto, o Django não é muito flexível e possui uma curva de aprendizado mais acentuada.

Como resultado, o Flask é usado para projetos de pequeno e médio porte, enquanto o Django é usado para projetos maiores e mais complexos.

  Como obter a localização geográfica do seu sistema a partir de um script Bash

Leia também: Diferenças entre Flask e Django

Frasco vs. FastAPI

FastAPI é uma estrutura relativamente nova para construção de APIs em Python. É rápido e fácil de usar. Ele fornece monitoramento integrado como um recurso. No entanto, é uma nova estrutura com um ecossistema e uma comunidade relativamente pequenos. Além disso, seu uso está limitado a APIs.

Por outro lado, o Flask é mais versátil, pois pode ser usado tanto para APIs quanto para renderização de arquivos estáticos. É leve e relativamente fácil. No entanto, é mais lento que FastAPI.

Flask é mais adequado para aplicações web onde você deve renderizar HTML, enquanto FastAPI deve ser usado para construir APIs.

Leia também: FastAPI vs. Flask: Qual dos dois é o certo para você?

Como criar um aplicativo no Flask

Nesta seção, construiremos um aplicativo Flask simples para exibir algum HTML e fornecer dados por meio de uma API. O objetivo disso não é fornecer um tutorial abrangente para o Flask. Em vez disso, o objetivo é mostrar brevemente como seria a construção de um aplicativo Flask.

Pré-requisitos

Para seguir este tutorial, você precisa entender Python 3. Além disso, familiaridade com HTTP seria útil, embora não seja obrigatória.

Para criar um aplicativo no Flask, você precisa primeiro instalar o Python. Se você precisar de um guia sobre como fazer isso, aqui está um vídeo para orientá-lo:

Crie um ambiente virtual

Primeiro, crie uma pasta de projeto para o aplicativo. Estou executando meus comandos no Bash Terminal; portanto, crio uma pasta usando o seguinte comando:

mkdir flask-tut

Em seguida, navegue dentro da pasta usando o comando:

cd flask-tut

Após navegar até a pasta, crie um ambiente virtual usando este comando. Isso garante que as dependências que instalaremos não entrem em conflito com dependências de outros projetos.

python3 -m venv venv

Isso deve criar uma pasta venv, que você pode ver com o comando:

ls

Ativar ambiente virtual

Ativar um ambiente virtual é fácil. Usando o terminal Bash, digite o comando:

source venv/bin/activate

O prompt do seu terminal deve mudar deste $ para este (venv) $.

  Como participar do evento 'Animal Crossing: New Horizons' Nature Day

Para obter mais informações, aqui está um artigo sobre ambientes virtuais em Python.

Instalar o frasco

Com um ambiente virtual, podemos prosseguir com a instalação do Flask. Para isso usaremos pip:

pip install Flask

Isso deve baixar alguns arquivos e instalar dependências.

Servindo algum HTML

A seguir, podemos começar a trabalhar no arquivo main.py. Este arquivo será o ponto de entrada da aplicação.

touch main.py

Após criar o arquivo main.py, abra-o com seu editor preferido e adicione o seguinte código:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return '<h1>Hello from Flask!</h1>'

No trecho de código acima, começamos importando a classe Flask. A seguir, instanciamos a classe Flask, passando a variável __name__. Esta é uma variável integrada que armazena o nome do módulo atual. O Flask precisa disso para saber onde encontrar os arquivos. Armazenamos a instância do Flask na variável app.

A seguir, criamos uma função chamada index. Esta função retorna o HTML que queremos exibir ao usuário. Antes da definição da função, usamos o decorador @app.route. Este decorador converte uma função regular em uma função de visualização Flask. Isso significa que o valor de retorno da função será convertido em uma resposta HTML.

Para executar o aplicativo, usamos o comando:

flask --app main run

O sinalizador –app especifica onde o aplicativo está. Neste caso, em main.py. O servidor deve começar a funcionar.

E se você abrir o navegador em http://localhost:5000 ou http://127.0.0.1:5000, deverá ver um h1:

Escrever todo o nosso HTML em nosso código Python geralmente seria ruim. Idealmente, gostaríamos de separar o Python do HTML. A próxima seção examinará como servir arquivos HTML independentes.

Servindo um arquivo HTML

Nesta seção, escreveremos o código para servir um arquivo index.html para nosso site. Primeiro, vamos criar o arquivo index.html. Criaremos este arquivo dentro da pasta de templates porque é onde o Flask procura nosso template HTML

touch template/index.html

Em seguida, abra o arquivo usando seu editor preferido e adicione o seguinte código:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Flask Website</title>
  </head>
  <body>
	<h1>Hello from Flask!</h1>
  </body>
</html>

A seguir, reabra o arquivo main.py que criamos anteriormente. Em seguida, adicione a seguinte importação no topo, logo após a importação do Flask:

from flask import render_template

A função render_template que acabamos de importar nos permite servir modelos HTML. Para renderizar um arquivo HTML, modificamos a função de índice para ficar assim:

@app.route("/")
def index():
    return render_template('index.html')

Pare o servidor (Ctrl + C) e reinicie-o usando o seguinte comando:

flask --app main run

Recarregue a janela do navegador e você verá o seguinte.

  Como fazer uma colagem de fotos no iPhone

Neste exemplo, estamos exibindo uma página HTML estática. Com o Flask, você também pode exibir modelos criando modelos HTML e fornecendo dados. Esses modelos seguem a sintaxe Jinja. Não abordaremos isso aqui por questões de brevidade, mas vincularei alguns bons recursos para aprender o Flask mais tarde.

Criando uma rota de API

Exibir conteúdo HTML é uma função dos aplicativos da web. A outra é servir dados por meio de uma rota de API. No Flask, também é fácil configurar rotas de API. Adicione este código ao arquivo main.py para criar uma rota de API em ‘/data’.

@app.route('/data')
def data():
    return { "status": "OK", "msg": "Hello from Flask API" }

Se uma função retornar um ditado ou lista, o valor será convertido em JSON e enviado como resposta. Se você reiniciar o servidor e abrir http://localhost:5000/data, deverá ver o seguinte:

Recursos para aprender Flask

❇️ O Documentação do frasco é excelente para aprender. É bem estruturado, claro e provavelmente o recurso mais confiável para aprender Flask.

❇️ freeCodeCamp também tem um ótimo vídeo do YouTube no frasco. freeCodeCamp é um nome conhecido para recursos de aprendizagem gratuitos, mas de ótima qualidade.

❇️ Isso Curso Udemy é uma boa maneira de aprender como construir APIs de nível empresarial no Flask. Abrange ferramentas como Flask-SQLALchemy e Flask-Smorest.

Conclusão

Este artigo foi uma breve introdução ao Python Flask. Abordamos o que é, comparamos com outras estruturas da web e construímos um aplicativo simples. Por último, vinculei recursos para aprendizado adicional.

A seguir, confira como proteger uma API Flask REST com um token da web JSON.