Criar Site em Python com Flask: Guia Completo para seu Site

Aprenda como criar site em Python com Flask e publicar gratuitamente online. Guia completo, passo a passo, para iniciantes com exemplos práticos.

Como Criar e Publicar um Site em Python

Se você quer aprender a criar site em Python com Flask do zero e ainda publicar seu projeto online gratuitamente, chegou ao lugar certo.

Flask é um dos frameworks mais populares para desenvolvimento web em Python e permite construir sites leves, simples e rápidos, mesmo se você estiver começando agora na programação.

Neste passo a passo completo, você vai instalar o Flask, criar páginas HTML, configurar rotas, rodar o projeto no seu computador e publicar o site na internet usando o Heroku.

Ao final, você terá seu primeiro site funcionando e poderá compartilhá-lo com qualquer pessoa.

Vamos começar?

Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:

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.

Para criar um site em Python com Flask, instale o framework com pip install flask, crie um arquivo app.py com uma rota (@app.route) que retorna o conteúdo, rode com flask run e acesse no navegador. O Flask é um microframework leve: você define rotas, funções e templates HTML com Jinja e, quando o site estiver pronto, publica gratuitamente em serviços como o Heroku.

O que é Flask e por que usar para criar sites em Python?

O Flask é um microframework para desenvolvimento web rápido. Ele é simples, flexível e excelente para quem quer aprender a desenvolver sites com Python sem complicação.

Por que usar Flask?

  • Fácil de aprender
  • Perfeito para projetos simples e médios
  • Ideal para aprender lógica web antes de partir para frameworks maiores como Django
  • Comunidade grande e documentação oficial excelente

Documentação oficial do Flask: https://flask.palletsprojects.com/en/stable/

Se você quiser entender quando usar Flask ou Django, recomendamos este vídeo do nosso canal: Flask ou Django no Python - Qual o Melhor e Quando Usar?

Instalando o Flask

Antes de tudo, instale o Flask com o comando:

Codigo
pip install Flask

Você pode utilizar o PyCharm ou outra IDE como VS Code.

Caso esteja configurando seu ambiente pela primeira vez, este conteúdo pode te ajudar: Como Instalar o VS Code para Programação Em JavaScript e Python?

Criando seu primeiro projeto Flask

Crie um novo arquivo Python e adicione o código abaixo. Vale lembrar que ele também está disponível para download.

Python
from flask import Flask, render_template

app = Flask(__name__)
# route -> hashtagtreinamentos.com/
# função -> o que você quer exibir naquela página
# template

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

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

@app.route("/usuarios/<nome_usuario>")
def usuarios(nome_usuario):
    return render_template("usuarios.html", nome_usuario=nome_usuario)

# colocar o site no ar
if __name__ == "__main__":
    app.run(debug=True)

    # servidor do heroku

Entendendo o código

ParteFunção
app = Flask(__name__)Inicia o projeto Flask
@app.route("/")Define a rota (URL) para cada página
render_template()Renderiza arquivos HTML
app.run(debug=True)Roda o servidor local e ativa o modo debug

Detalhando o código para criar site em Python com Flask

Agora que você já viu a estrutura geral do projeto, vamos entender cada parte do código para que consiga personalizar e criar um site em Python com Flask do seu jeito.

Python
from flask import Flask, render_template

app = Flask(__name__)
# route -> hashtagtreinamentos.com/
# função -> o que você quer exibir naquela página
# template

Aqui acontece a importação da biblioteca Flask e a criação da aplicação com app = Flask(__name__).
Esse trecho inicia o projeto e prepara o Flask para receber rotas e páginas.

A própria documentação recomenda utilizar o nome app — então, mantenha esse padrão. Se quiser aprofundar, você pode consultar o significado da variável __name__ e a estrutura do if __name__ == "__main__" na documentação oficial do Python ou na nossa publicação.

Í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 que são rotas, funções e templates no Flask

Depois da criação da aplicação, você define as rotas. Rotas são os caminhos do seu site — ou seja, qual página será carregada em cada URL.

No Flask, cada rota é associada a uma função Python e a um template HTML. Assim:

  • Rota (route) → caminho do site (ex: /contatos)
  • Função Python → o que será exibido nessa rota
  • Template HTML → arquivo que renderiza a página visualmente

Vamos ver o código completo:

Python
@app.route("/")
def homepage():
    return render_template("homepage.html")

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

@app.route("/usuarios/<nome_usuario>")
def usuarios(nome_usuario):
    return render_template("usuarios.html", nome_usuario=nome_usuario)

A rota / representa a página inicial. O Flask entende que toda URL sem caminho adicional deve mostrar essa página — o famoso "home".

Em seguida, você pode criar outras páginas, como /contatos.

A terceira rota mostra como passar um parâmetro pela URL, criando páginas dinâmicas: /usuarios/<nome_usuario>.

Isso permite, por exemplo, criar uma página personalizada para cada usuário, parecido com o funcionamento de redes sociais.

Onde ficam os arquivos HTML do Flask

Para usar o render_template, você precisa criar uma pasta chamada templates exatamente com esse nome, no mesmo diretório do seu arquivo Python.

Dentro dela, coloque seus arquivos .html, por exemplo:

Codigo
templates/
 ├─ homepage.html
 ├─ contatos.html
 └─ usuarios.html
Pasta templates com os arquivos em html

Assim você pode escrever conteúdo HTML para cada página sem misturar tudo dentro do código Python. Essa separação é um dos maiores benefícios de usar Flask para criar site em Python.

Testando o site no navegador

Ao rodar o arquivo Python, o terminal vai exibir um link parecido com:

Codigo
http://127.0.0.1:5000/

Basta clicar nesse link ou copiá-lo para o navegador.

Página inicial do site

Para acessar outras páginas:

  • Página inicial: /
  • Contatos: /contatos
  • Página de usuário (exemplo): /usuarios/Lira

Assim você já consegue navegar entre as páginas que criou.

Ativando o servidor e o modo debug

Agora veja a parte final do código:

Codigo
if __name__ == "__main__":
    app.run(debug=True)

Esse trecho coloca o site no ar no seu computador e ativa o modo debug.

Com o debug ativado, o site atualiza automaticamente toda vez que você alterar o código — o que acelera muito seu desenvolvimento.

Se aparecer algum erro, basta rodar novamente. Isso é normal quando estamos começando.

Publicando o site no Heroku

Depois de criar site em Python com Flask localmente, chegou a hora de publicá-lo na internet. Vamos usar o Heroku, que permite hospedar projetos gratuitamente.

Criando a conta e o aplicativo no Heroku

  1. Acesse o site do Heroku e crie sua conta
  2. Faça login
  3. Clique em New → Create New App
  4. Dê um nome (ele será parte da URL)
  5. Clique em Create App
Criando o app no site heroku

Você verá uma página com instruções para o deploy.

Criar Site em Python com Flask

Instalando o Heroku CLI e o Git

O Heroku vai pedir que você instale o Heroku CLI (linha de comando) e o Git, caso ainda não tenha.

Baixe e instale:

Feche e abra o PyCharm (ou seu editor) após instalar.

Para testar se funcionou:

Codigo
git --version
heroku --version

Se algo não funcionar, verifique a instalação e reinicie o computador, muitas vezes resolve.

Criando o arquivo Procfile

Na pasta do projeto, crie um arquivo chamado Procfile (sem extensão) e adicione:

Codigo
web: gunicorn nome_do_seu_arquivo:app

Troque nome_do_seu_arquivo pelo nome do arquivo .py (sem a extensão).

Instalando o Gunicorn

Gunicorn é o servidor que vai rodar o Flask no Heroku:

Codigo
pip install gunicorn

Gerando o arquivo requirements.txt

Agora crie o arquivo que lista as dependências do seu projeto:

Codigo
pip freeze > requirements.txt

Ele vai gerar algo como:

Codigo
click==8.0.1
colorama==0.4.4
Flask==2.0.1
gunicorn==20.1.0
itsdangerous==2.0.1
Jinja2==3.0.1
MarkupSafe==2.0.1
Werkzeug==2.0.1

Enviando o projeto para o Heroku (deploy)

Siga o passo a passo exibido no painel do Heroku.

Se for sua primeira vez usando Git, configure nome e e-mail:

Codigo
git config --global user.email "seu-email"
git config --global user.name "seu-nome"

Execute o fluxo:

Codigo
heroku login
git init
git add .
git commit -m "deploy inicial"
heroku git:remote -a nome-do-seu-app
git push heroku master

Após alguns segundos, seu site estará disponível no link:

Codigo
https://nome-do-seu-app.herokuapp.com/

Nas próximas atualizações, você só precisa usar:

Codigo
git add .
git commit -m "atualização"
git push heroku master

Pronto! Agora seu site Flask está publicado e pode ser acessado de qualquer lugar. Você pode enviar o link para amigos, incluir no seu portfólio e continuar personalizando.

Criar Site em Python com Flask

Conclusão - Como Criar site em Python com Flask

Agora você sabe criar site em Python com Flask e publicar gratuitamente no Heroku. Esse é um passo enorme para aprender desenvolvimento web e construir projetos reais em Python.

Continue treinando: crie novas páginas, personalize o visual com HTML e CSS e evolua para projetos mais completos conforme avança.

Se quiser aprofundar seus conhecimentos em Python e evoluir para automações, web e dados, conheça nosso treinamento completo: Python Impressionador!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

O que você aprende neste vídeo

Resposta rápida: Nesta aula completa, o instrutor ensina a criar e publicar um site em Python com o Flask do zero. Você aprende a instalar o Flask, criar páginas com @app.route e funções, separar o HTML em templates (render_template), criar páginas dinâmicas (com variável na URL) e, no fim, publicar o site na internet pelo Heroku (com Git, Procfile, requirements.txt e gunicorn).

Neste vídeo (60 min):

  • 2:00 - O que é o Flask: o framework de Python para criar sites e APIs, e a instalação (pip install flask).
  • 5:00 - Criar a primeira página: o conceito de @app.route (o link) + a função (o conteúdo).
  • 11:00 - Colocar o site no ar (app.run) com o modo debug e o if __name__.
  • 19:00 - Separar o HTML em arquivos na pasta templates com o render_template.
  • 28:00 - Páginas dinâmicas: passar uma variável pela URL (como o perfil de cada usuário).
  • 36:00 - Publicar o site (deploy) no Heroku: criar a conta e instalar o Heroku CLI e o Git.
  • 44:00 - Configurar o Procfile, o requirements.txt e o gunicorn.
  • 49:00 - Subir o site com Git (git add/commit/push heroku) e como atualizá-lo depois.

FAQ - Perguntas Frequentes: Criar Site em Python com Flask

1) Como criar um site em Python com Flask passo a passo?

Para criar um site em Python com Flask, você instala o Flask com pip install Flask, cria um arquivo Python com as rotas usando @app.route, adiciona templates HTML dentro da pasta templates e executa o app com app.run(debug=True). A partir daí, o site roda no navegador e você pode personalizar páginas e rotas.

2) Como publicar um site Flask gratuitamente?

É possível publicar um site Flask gratuitamente usando serviços de hospedagem como Render ou Railway. O processo envolve instalar o Git, gerar arquivos como requirements.txt e, antes no Heroku, usar git push para enviar o projeto. Hoje, muitos desenvolvedores preferem o Render por oferecer deploy gratuito mais estável para Flask.

3) Preciso saber HTML para criar site com Flask?

Sim, mesmo sendo possível escrever conteúdo na função Python, o Flask usa templates HTML para exibir páginas. Você cria arquivos .html dentro da pasta templates e usa render_template() para carregar cada página, separando lógica e visual.

4) Flask é melhor que Django para criar sites em Python?

Flask é ideal para iniciantes e projetos simples, por ser leve e flexível. Django é mais completo e recomendado para sistemas maiores, como plataformas com autenticação, painel admin e banco de dados complexo. Para aprender o básico de desenvolvimento web com Python, Flask costuma ser a melhor escolha inicial.

5) Como criar rotas e páginas no Flask?

Para criar novas páginas no Flask, você define rotas com @app.route("/nome_da_pagina") e retorna render_template("arquivo.html"). Crie o arquivo HTML correspondente dentro da pasta templates. Para páginas dinâmicas, use parâmetros como /usuarios/<nome>.

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