O que é Flask - Guia Completo do Framework Web Python
Introdução ao Flask
Flask é um framework web minimalista em Python, projetado para criar aplicações web e REST APIs. Ele oferece uma estrutura simples e flexível, permitindo desenvolver tanto protótipos quanto aplicações web completas rapidamente. Flask é baseado no conjunto de ferramentas WSGI Werkzeug e utiliza o sistema de templates Jinja2.
Criado por Armin Ronacher em 2010, o Flask ganhou popularidade graças à filosofia "faça uma coisa, mas faça bem". Ao contrário de frameworks mais pesados, o Flask fornece apenas o mínimo necessário, permitindo que os desenvolvedores escolham os componentes para seus projetos.
Principais Características do Flask
Abordagem Minimalista e Extensível
Flask segue o princípio de microframework, fornecendo funcionalidades básicas e permitindo expandi-las através de plugins e extensões.
Roteamento e Tratamento de Requisições Integrados
O framework oferece um sistema de roteamento intuitivo com suporte a vários métodos HTTP e parâmetros de URL.
Suporte a Templates Jinja2
A integração com o poderoso sistema de templates Jinja2 facilita o trabalho com templates HTML e conteúdo dinâmico.
Criação de REST APIs
Flask é ideal para criar RESTful APIs graças ao suporte a respostas JSON e ao tratamento flexível de métodos HTTP.
Suporte a Extensões
Um rico ecossistema de extensões permite adicionar funcionalidades para trabalhar com bancos de dados, autenticação, formulários e muito mais.
Compatibilidade com Python 3.7+
Flask suporta versões modernas do Python e segue as melhores práticas de desenvolvimento.
Instalação e Configuração
Instalação via pip
pip install flask
Verificando a Instalação
python -m flask --version
Criando o Arquivo app.py e Executando
export FLASK_APP=app.py
flask run
No Windows:
set FLASK_APP=app.py
flask run
Criando a Primeira Aplicação
Exemplo Simples de app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "Bem-vindo ao Flask!"
if __name__ == '__main__':
app.run(debug=True)
Executando a Aplicação
flask run
A aplicação estará disponível em http://localhost:5000/
Tratamento de Rotas e URLs
Roteamento Básico
@app.route("/user/<username>")
def show_user_profile(username):
return f"Perfil do usuário: {username}"
Rotas com Tipagem
@app.route("/post/<int:post_id>")
def show_post(post_id):
return f"Post número {post_id}"
@app.route("/user/<path:subpath>")
def show_subpath(subpath):
return f"Subcaminho: {subpath}"
Tipos de Parâmetros Suportados
string- strings (padrão)int- números inteirosfloat- números de ponto flutuantepath- strings com caracteres "/"uuid- strings UUID
Trabalhando com Métodos HTTP
Tratando Diferentes Métodos
@app.route("/data", methods=["GET", "POST", "PUT", "DELETE"])
def handle_data():
if request.method == "POST":
return "Dados criados"
elif request.method == "PUT":
return "Dados atualizados"
elif request.method == "DELETE":
return "Dados excluídos"
return "Obtendo dados"
Trabalhando com Templates
Também na biblioteca
MongoDB.Driver para C# (.NET): guia completo com exemplos
Monitoramento de aplicações Kotlin: bibliotecas e ferramentas para rastreamento de desempenho
Filas de tarefas em Node.js: Bull, Bee-Queue e Kue
ClosedXML para C# (.NET): guia completo com exemplos