O que é Flask no Python: Micro-Framework de Desenvolvimento Web no Python

Flask é um micro-framework de desenvolvimento web em Python, usado para criar sites, aplicações web e APIs de forma simples e flexível. Criado por Armin Ronacher em 2010, ele é chamado de “micro” porque entrega apenas o essencial — roteamento de URLs e renderização de páginas — deixando você livre para adicionar só as bibliotecas que o seu projeto precisa.

Essa leveza fez do Flask um dos frameworks web mais usados por quem programa em Python, ao lado do Django, segundo o Python Developers Survey (PSF/JetBrains). Ele é uma porta de entrada ideal para quem quer começar no desenvolvimento web com Python.

Se quiser pode acompanhar esse conteúdo em formato de vídeo ou pode acessar o nosso Canal do YouTube para mais vídeos!

O que você aprende neste vídeo

Resposta rápida: A aula monta a estrutura base do Flask: mostra a instalação com pip install flask, cria o app e uma rota que devolve texto, roda o site num link aberto no próprio computador, separa as rotas num arquivo de views e troca o texto por uma página HTML com render_template. Banco de dados e formulários ficam só descritos.

Neste vídeo (10 min):

  • 0:41 - A instalação é um pip install flask no terminal do editor de código.
  • 0:55 - O uso tem três etapas: importar o Flask, criar o app (o Flask chama o site de app) e criar as rotas.
  • 1:19 - O app nasce da classe do Flask, passando a variável __name__, que, nas palavras do instrutor, é como se fosse o nome do arquivo; é a forma padrão, que se copia em todo projeto sem mudar.
  • 2:15 - Cada rota se cria com app.route e o caminho: só a barra é a homepage, e /blog ou /contato levam a outras páginas.
  • 3:29 - Para rodar o site, o app.run entra num if com a variável __name__, para não ser executado o tempo todo.
  • 4:07 - Rodado o arquivo, o site abre num link acessível pelo computador e mostra o texto que a função da homepage retorna.
  • 4:43 - Num projeto um pouco mais complexo, o arquivo principal, o main, importa o Flask e cria as bases do site, como autenticação e banco de dados, e as rotas vão para um routes.py ou views.py.
  • 5:23 - No main, depois de criar o app, from views import * traz todas as rotas do arquivo de views; como o app só existe no main, o arquivo de views começa importando o app de lá.
  • 6:22 - Uma rota de blog criada no arquivo de views funciona: em /blog, o site mostra o texto de boas-vindas ao blog.
  • 6:30 - Num site mais complexo, o banco de dados é criado no main, com as tabelas num arquivo que se costuma chamar models, e formulários ganham um arquivo de forms.
  • 8:37 - Para devolver uma página HTML em vez de texto, a rota usa render_template, importado do Flask, com o nome do arquivo HTML.
  • 9:12 - Depois de parar com Ctrl + C e rodar de novo, a homepage mostra o texto escrito no HTML.

Trechos do vídeo:

  • No Flask, site e API se criam do mesmo jeito; o que muda é o que a rota retorna: em vez de um texto, a rota de uma API devolve um JSON, um XML ou um arquivo.
  • O app.route funciona como decorator: dá à função logo abaixo dele uma funcionalidade extra, a de ser executada quando o usuário entra naquele link.
  • Em volta do app.run, o if com a variável __name__ faz esse código rodar só quando o arquivo é executado diretamente, e não quando ele é importado de outro lugar.
  • O render_template procura a pasta templates, no plural, no lugar onde está o código; é nela que ficam os arquivos HTML, e os arquivos estáticos, como CSS e JavaScript, vão numa pasta static.
  • Cada funcionalidade nova do site é inicializada pelo arquivo principal e depois usada onde for preciso, como nas rotas ou nos modelos do banco de dados.

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.

O que é Flask no Python: Micro-Framework de Desenvolvimento Web no Python

Você sabe como o Flask funciona no Python e como ele pode ser usado para criar sites e APIs?

O Flask é um micro-framework de desenvolvimento web que permite criar sites e APIs de maneira fácil e eficiente usando Python.

Nesta aula, vou te mostrar rapidamente a estrutura de um site em Flask, como criar múltiplas páginas, o que fazer em projetos mais complexos, e como adicionar um banco de dados e formulários ao seu site.

Além disso, você também aprenderá a usar templates e a estilizar seus sites em Flask com HTML e CSS!

O objetivo desta aula é oferecer uma introdução ao Flask em Python. Ao final, você terá uma noção de como usar o Flask para iniciar seus projetos de desenvolvimento web no Python.

O que é o Flask? Como Criar Sites em Python?

O Flask é um micro-framework para desenvolvimento web em Python. Ele é considerado micro porque fornece apenas as funcionalidades básicas e essenciais para que você possa criar sites, aplicativos web e APIs de forma rápida e eficiente.

Sua abordagem “one drop at a time” permite adicionar funcionalidades de forma gradual, tornando-o uma escolha popular tanto para iniciantes quanto para desenvolvedores experientes.

Com o Flask, você tem grande flexibilidade e controle sobre o projeto, podendo escolher quais extensões e bibliotecas utilizar. Graças à sua facilidade de uso, configuração ágil e funcionalidades práticas, o Flask é uma ferramenta poderosa para desenvolvimento web.

Quais as Vantagens do Flask?

As vantagens do Flask, em comparação com outros frameworks de desenvolvimento web, estão na sua simplicidade e flexibilidade.

O Flask é extremamente simples de configurar e começar a usar, sendo mais leve e não impondo muitas regras ou estruturas rígidas.

Sua curva de aprendizado é mais suave, especialmente em projetos de pequeno e médio porte, sendo ideal para quem está começando ou para quem precisa de uma solução ágil para um projeto web.

Além disso, o Flask permite que você configure e escolha apenas as bibliotecas e extensões necessárias para o seu projeto.

Essa facilidade e flexibilidade fazem do Flask um framework amplamente adotado, até mesmo por grandes empresas, mostrando que ele é capaz de lidar com projetos complexos e de grande escala.

Além disso, a comunidade do Flask é bastante ativa, oferecendo tutoriais, recursos, plugins e extensões que facilitam o aprendizado e a resolução de problemas.

Como Instalar o Flask

Para começar a usar o Flask, você precisa instalá-lo. A instalação é fácil e pode ser feita através do pip. No terminal do seu editor de código, basta executar o seguinte comando:

Python
pip install flask

O que Fazer para Usar o Flask? – Estrutura Básica de uma Aplicação Flask

Depois de instalar o Flask, o próximo passo é importar a classe principal do framework para o arquivo Python onde desenvolveremos o código do site ou do aplicativo web.

Criação do Aplicativo:

Para criar sua aplicação Flask, você deve criar uma instância da classe Flask, passando como argumento __name__, que indica onde o Flask deve buscar os recursos e arquivos necessários para a aplicação.

Para entender melhor sobre o argumento __name__, confira a nossa aula: __name__ e __main__ no Python. O que Significa Isso?

Python
from flask import Flask



app = Flask(__name__)

Basicamente, sempre que você for iniciar um novo projeto em Flask, você usará essa estrutura.

Definição de Rotas e Views com Flask:

No Flask, rotas são responsáveis por mapear URLs específicas para funções Python, conhecidas como views.

As rotas são os caminhos ou URLs que definem qual página do site será acessada; elas representam o endereço na web que o usuário visitará para visualizar ou interagir com o site.

Ícone PythonPython Impressionador

Você vai aprender a linguagem de Programação que mais cresce no Mundo para fazer automações incríveis, desenvolver sites, fazer análises de dados, trabalhar com Ciência de Dados, Inteligência Artificial, mesmo que você nunca tenha tido nenhum contato com Programação na vida.

Começar agoraSeta para a direita
Fundo PythonTelas Python
Luz Python

O conteúdo dessas rotas é definido por funções específicas, chamadas views. Dentro dessas views, o Flask processa as solicitações recebidas do navegador e retorna a resposta adequada, como o conteúdo da página.

Para criar uma rota com Flask, utilizamos o decorator @app.route('caminho'), onde 'caminho' é substituído pela rota desejada. Por exemplo, para criar uma rota para a página inicial, usamos @app.route('/').

Abaixo do decorator, adicionamos a função que retornará as informações para a página inicial (homepage). Para o nosso exemplo, a função simplesmente exibirá a mensagem “Meu site no Flask”.

Python
from flask import Flask



app = Flask(__name__)



@app.route("/")

def homepage():

    return "Meu site no Flask"

Você pode criar diferentes rotas para o seu site, associando-as a diferentes funções, como /blog, /contato, etc.

Execução do Aplicativo:

Por fim, para colocar o site no ar, utilizamos o comando app.run() para iniciar o servidor de desenvolvimento, permitindo o acesso ao site localmente.

Esse método geralmente é colocado dentro de uma estrutura condicional if __name__ == "__main__": para garantir que o site só será executado quando o arquivo for chamado diretamente, evitando a execução do código quando o módulo for importado.

Python
from flask import Flask



app = Flask(__name__)



@app.route("/")

def homepage():

    return "Meu site no Flask"



if __name__ == "__main__":

    app.run()

Ao executar esse código, o Flask criará um link no terminal do seu editor para que você possa acessar o site no seu computador.

Executando o Flask em Python
Homepage em Flask

Essa é a estrutura mais básica de uma aplicação Flask em Python. A partir dela, você pode adicionar novas rotas para seu site ou iniciar o desenvolvimento de uma API.

No caso de uma API, dentro da função, em vez de retornar uma página web, você deve retornar dados em formatos como JSON ou XML.

Para saber como criar sua própria API do zero com Python, confira nossa aula completa: API no Python - O que é e Como Criar Sua Própria API?

Estrutura de Projetos Maiores com Flask no Python

Em projetos maiores com Flask, o código é dividido em múltiplos arquivos para melhorar a organização e a manutenção. Os arquivos mais comuns em uma estrutura de projeto Flask são: main.py, views.py (ou routes.py) e models.py.

Estrutura de arquivos no Flask Python

O arquivo main.py é responsável por importar o Flask e configurar os elementos principais do aplicativo, como a criação do objeto app, o sistema de autenticação e a conexão com o banco de dados.

As rotas e as views da aplicação são definidas e organizadas em um arquivo comumente chamado de routes.py ou views.py. Nele, você pode criar quantas rotas forem necessárias para o seu projeto.

Para que elas funcionem corretamente, é necessário importar o aplicativo do arquivo main.py.

Python
from main import app



# rotas

@app.route("/")

def homepage():

    return "Meu site no Flask"



@app.route("/blog")

def blog():

    return "Bem vindo ao blog"

Como as rotas agora estão sendo definidas em outro arquivo, dentro do main.py é necessário importar essas rotas usando o comando from views import *. Isso permitirá que o aplicativo tenha acesso a todas as rotas definidas.

Python
from flask import Flask



app = Flask(__name__)



from views import *



if __name__ == "__main__":

    app.run()

Para colocar seu site no ar, basta executar o arquivo main.py novamente, e você terá acesso às diferentes rotas criadas.

Página blog renderizada com o Flask

Arquivo models.py e Banco de Dados no Flask em Python

O terceiro arquivo, models.py, é usado para definir a estrutura e as relações dos dados no banco de dados do seu projeto.

Nele, definimos os modelos de dados da aplicação, que representam as tabelas do banco de dados e a forma como os dados são armazenados e manipulados.

Este arquivo ajuda a organizar o código separando a lógica de manipulação de dados (como criação, leitura, atualização e exclusão de registros) do restante da lógica da aplicação.

Ao trabalhar com bancos de dados no Flask, é nesse arquivo que você definirá as classes que representam as tabelas e seus atributos, além de criar e definir relacionamentos entre essas tabelas e validações de dados.

A extensão Flask-SQLAlchemy é uma escolha popular para integrar bancos de dados com Flask de forma mais eficiente.

Estrutura dos Sites em Flask – Templates e Arquivos Estáticos

No exemplo inicial, mostrei como criar uma página simples no Flask que exibe apenas uma mensagem. No entanto, o Flask pode retornar páginas HTML completas, ao invés de um texto simples.

Para criar páginas web dinâmicas e interativas, você precisará definir duas pastas dentro do seu projeto: templates (para arquivos HTML) e static (para arquivos CSS e JavaScript).

Dessa forma, você pode criar o código HTML completo da sua página e usar as views do Flask para renderizar esse template, separando a lógica da apresentação e facilitando o desenvolvimento.

Na pasta static, você pode armazenar arquivos CSS, JavaScript, imagens e outros recursos estáticos que serão integrados ao projeto, para estilizar ou adicionar funcionalidades à página.

Templates e Arquivos Estáticos

Dentro da pasta templates, crie o arquivo homepage.html com a estrutura básica de um documento HTML.

HTML
<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

</head>

<body>

    Meu site em Flask com HTML

</body>

</html>

Para renderizar a página HTML criada, importe a função render_template do Flask no arquivo views.py. Essa função permite carregar arquivos HTML a partir da pasta templates.

Python
from main import app



from flask import render_template



# rotas

@app.route("/")

def homepage():

    return render_template("homepage.html")



@app.route("/blog")

def blog():

    return "Bem vindo ao blog"

Depois de fazer essas alterações, salve seus arquivos, encerre a execução atual do site pressionando Ctrl + C no terminal do editor de código e execute novamente o arquivo main.py.

Ao acessar a página inicial, a mensagem "Meu site em Flask com HTML" aparecerá conforme definido no body da estrutura do arquivo HTML.

Página criada com HTML e Flask

Com o uso desses recursos, você pode expandir significativamente as funcionalidades dos seus sites em Flask Python.

Bibliotecas e Extensões do Flask no Python

À medida que o projeto cresce, pode ser necessário adicionar novas funcionalidades como formulários, autenticação e integração com bancos de dados, utilizando bibliotecas e extensões adicionais como Flask-WTF e Flask-SQLAlchemy.

Gerenciamento de sessão e cookies

O Flask também oferece suporte ao gerenciamento de sessão e cookies, permitindo armazenar informações sobre o estado da sessão do usuário.

É possível configurar uma chave secreta para criptografar os dados da sessão e armazená-los no cookie do usuário, mantendo o estado do usuário durante a navegação no aplicativo web.

Deploy de Aplicativos Flask

Para implantar seu aplicativo Flask em um ambiente de produção, existem várias abordagens. Uma opção comum é usar um servidor WSGI, como o Gunicorn ou uWSGI, que gerencia a comunicação entre o aplicativo Flask e o servidor web.

Além disso, você pode configurar um servidor web, como o Nginx, para encaminhar as solicitações para o seu aplicativo Flask.

Com o Flask, você pode desenvolver aplicativos web poderosos e escaláveis em Python, utilizando rotas, views, gerenciamento de sessão, extensões e técnicas de implantação para criar aplicativos web eficientes e de alta qualidade.

Para aprender como fazer o deploy do seu site em detalhes, recomendo a aula: Servidor Gratuito Railway e Render para seu Site – Alternativa para Heroku

Flask ou Django: qual framework Python escolher?

Essa é provavelmente a dúvida mais comum de quem começa no desenvolvimento web com Python. A resposta depende do tipo de projeto:

  • Flask: micro-framework minimalista e flexível. Você escolhe cada biblioteca que vai usar, o que dá mais controle e uma curva de aprendizado mais suave. Ideal para projetos pequenos e médios, APIs e protótipos.
  • Django: framework "full-stack" que já vem com ORM, painel administrativo e sistema de autenticação prontos. Exige seguir mais convenções, mas acelera projetos grandes e complexos.

Em resumo: escolha o Flask quando quiser simplicidade, leveza e liberdade para montar a aplicação do seu jeito; prefira o Django quando precisar de uma estrutura completa e pronta para escalar desde o início.

Conclusão – O que é Flask Python?

Em resumo, o Flask é uma ferramenta poderosa para desenvolver aplicações web de forma simples e rápida.

Por ser um micro-framework de fácil configuração e bastante flexível, é uma excelente opção tanto para iniciantes quanto para desenvolvedores experientes que queiram iniciar seus projetos de desenvolvimento web no Python.

O Flask permite criar sites, aplicativos web e APIs de forma rápida e eficiente, com a possibilidade de adicionar funcionalidades gradualmente, como suporte a banco de dados, autenticação, templates e muito mais.

Se você quer aprender Flask de forma mais completa e avançada, considere conferir o nosso minicurso: Minicurso Gratuito de Criação de Site

Ou, se deseja aprender a criar sites mais complexos, como réplicas do Pinterest e do Netflix, ou até mesmo e-commerces completos, confira o nosso Curso Completo Python Impressionador.

Perguntas frequentes sobre o Flask

1. O que é Flask no Python?

Flask é um micro-framework de desenvolvimento web em Python usado para criar sites, aplicações web e APIs. Criado em 2010, ele entrega o essencial (rotas e templates) e deixa você escolher as demais bibliotecas.

2. Para que serve o Flask?

O Flask serve para construir aplicações web e APIs em Python — de sites simples e protótipos a APIs REST e sistemas maiores. É muito usado para MVPs, microsserviços e back-ends de aplicativos.

3. Como instalar o Flask?

Basta ter o Python instalado e rodar o comando pip install flask no terminal. Depois, você importa a classe Flask no seu arquivo Python e cria a aplicação com app = Flask(__name__).

4. Qual a diferença entre Flask e Django?

Flask é um micro-framework minimalista e flexível, ideal para projetos pequenos, médios e APIs. Django é um framework full-stack que já vem com ORM, painel administrativo e autenticação prontos, melhor para projetos grandes e complexos.

5. Flask é bom para iniciantes?

Sim. Por ter poucas regras e uma curva de aprendizado suave, o Flask é uma excelente porta de entrada no desenvolvimento web com Python — você entende cada parte da aplicação à medida que a constrói.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Posts mais recentes de Python

Posts mais recentes da Hashtag Treinamentos