Flask: Framework Web Leve e Poderoso para Python

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

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 inteiros
  • float - números de ponto flutuante
  • path - 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

Recommendations