Desenvolvendo Aplicações Web com Flask

Python 14 de Fev de 2024

Texto de Paulo Clemente
Desenvolvedor e redator de mídias sociais na Rocketseat

O Flask é um microframework para Python que se destaca pela sua simplicidade e extensibilidade, permitindo o desenvolvimento rápido e eficiente de aplicações web.

Ele foi projetado para facilitar o início do desenvolvimento de aplicações web, oferecendo uma base sólida que pode ser expandida com extensões conforme necessário. Isso é ideal para projetos que precisam de uma solução personalizada ou que devem escalar ao longo do tempo.

Instalando o Flask

Para começar, instale o Flask e qualquer dependência necessária usando o pip:

pip install Flask

Exemplo Prático: Serviço de Geração de Códigos de Barras

Configuração Inicial

Primeiramente, é necessário importar os componentes necessários do Flask, assim como o pacote barcode para a geração de códigos de barras:

from flask import Flask, request, jsonify
from barcode import Code128
from barcode.writer import ImageWriter

from flask import Flask, request, jsonify: Este import é fundamental para qualquer aplicação Flask e traz três componentes cruciais:

  • Flask: É a classe principal do framework Flask. Ela é usada para criar a instância da aplicação web.
  • request: É um objeto que contém os dados da requisição feita ao servidor. Usado para acessar os dados enviados pelo usuário, como dados de formulários, valores JSON, arquivos, e parâmetros de URL.
  • jsonify: É uma função que transforma dados em um formato JSON. Facilita o envio de respostas JSON a partir do servidor, tornando-o compatível com aplicações web e APIs RESTful.

from barcode import Code128: Importa a classe Code128 do pacote barcode. Esta classe é usada para gerar códigos de barras no formato Code 128, um padrão amplamente utilizado devido à sua eficiência e capacidade de codificar caracteres alfanuméricos

from barcode.writer import ImageWriter: Importa a classe ImageWriter do submódulo writer do pacote barcode. ImageWriter é utilizado para gerar uma imagem do código de barras. Quando você cria uma instância de Code128 (ou qualquer outro formato de código de barras suportado pelo pacote barcode) e passa uma instância de ImageWriter, o código de barras gerado é salvo como uma imagem (por exemplo, PNG).

Criando a Aplicação

A criação da aplicação Flask é simples e direta:

app = Flask(__name__)

Definindo a Rota e a Lógica de Negócio

Vamos definir uma rota /create_tag que aceitará requisições POST para criar um código de barras baseado em um código de produto fornecido:

@app.route('/create_tag', methods=['POST'])
def create_tag():
		body = request.json
    product_code = body.get('product_code')
    tag = Code128(product_code, writer=ImageWriter())
    path_from_tag = f'{tag}'
    tag.save(path_from_tag)
    return jsonify({"tag path": path_from_tag})

Executando o Servidor

Para rodar o servidor Flask e tornar nossa aplicação acessível, usamos:

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=3000)

No postman

Vamos fazer um requisição POST para a rota create_tag que configuramos no nosso servidor:

Observe que está tudo certo com nossa resposta, então vamos ver se deu tudo certo com o arquivo do nosso código de barra também:

O Flask é uma ferramenta poderosa que permite aos desenvolvedores criar aplicações web de forma rápida e eficiente. Através dos exemplos fornecidos, podemos ver como o Flask facilita a implementação de funcionalidades comuns em aplicações web, desde a geração de códigos de barras até a autenticação de usuários. Com sua abordagem modular e extensível, o Flask é adequado para projetos de todos os tamanhos, oferecendo aos desenvolvedores a flexibilidade necessária para construir soluções robustas e personalizadas.

Marcadores