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.
O que você vai aprender?
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:
pip install FlaskVocê 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.
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 herokuEntendendo o código
| Parte | Funçã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.
from flask import Flask, render_template
app = Flask(__name__)
# route -> hashtagtreinamentos.com/
# função -> o que você quer exibir naquela página
# templateAqui 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.
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:
@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:
templates/
├─ homepage.html
├─ contatos.html
└─ usuarios.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:
http://127.0.0.1:5000/Basta clicar nesse link ou copiá-lo para o navegador.

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:
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
- Acesse o site do Heroku e crie sua conta
- Faça login
- Clique em New → Create New App
- Dê um nome (ele será parte da URL)
- Clique em Create App

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

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:
- Git → https://git-scm.com/downloads
- Heroku CLI → https://devcenter.heroku.com/articles/heroku-cli
Feche e abra o PyCharm (ou seu editor) após instalar.
Para testar se funcionou:
git --version
heroku --versionSe 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:
web: gunicorn nome_do_seu_arquivo:appTroque 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:
pip install gunicornGerando o arquivo requirements.txt
Agora crie o arquivo que lista as dependências do seu projeto:
pip freeze > requirements.txtEle vai gerar algo como:
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.1Enviando 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:
git config --global user.email "seu-email"
git config --global user.name "seu-nome"Execute o fluxo:
heroku login
git init
git add .
git commit -m "deploy inicial"
heroku git:remote -a nome-do-seu-app
git push heroku masterApós alguns segundos, seu site estará disponível no link:
https://nome-do-seu-app.herokuapp.com/Nas próximas atualizações, você só precisa usar:
git add .
git commit -m "atualização"
git push heroku masterPronto! 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.

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 oif __name__. - 19:00 - Separar o HTML em arquivos na pasta
templatescom orender_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, orequirements.txte 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!
Posts mais recentes de Python
- Curso Básico de Python: Saia do Zero em 10 Aulas GrátisAprenda com o curso básico de Python gratuito da Hashtag: 10 aulas práticas, exercícios e projetos reais para sair do zero em programação.
- Agentes RAG com Python: como criar um assistente de IAAprenda a criar Agentes RAG com Python do zero: LangChain, FAISS e OpenAI para montar um assistente de IA que responde com base nos seus documentos.
- 25 Tipos de Gráficos em Python: Guia Completo com CódigoAprenda a criar os principais tipos de gráficos em Python com Plotly: barras, pizza, mapas e mais, com código pronto para copiar e usar.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.








