Rotas e visualizações
Trate solicitações HTTP
Rotas e visualizações é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 4 aulas no total.
O que é Flask?
Flask é uma estrutura leve para a web em Python. Ela permite criar aplicações web e APIs com pouquíssimo código repetitivo. Instale-a com pip install flask.
from flask import Flask
app = Flask(__name__)
print('Flask app created:', app.name)Criando a aplicação
Toda aplicação Flask começa com um objeto app = Flask(__name__). O argumento __name__ ajuda o Flask a localizar recursos, como modelos.
from flask import Flask
app = Flask(__name__)
if __name__ == '__main__':
# app.run() starts the development server
print('App is ready to run')Sua primeira rota
Uma rota associa uma URL a uma função (uma visualização). O decorador @app.route() vincula o caminho; o valor retornado pela função se torna o corpo da resposta.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Hello, world!'
print('Route / -> home')Várias rotas
Defina quantas rotas quiser. Cada caminho recebe sua própria função de visualização.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Home page'
@app.route('/about')
def about():
return 'About page'
print('Two routes defined')Partes dinâmicas da URL
Capture partes da URL com <variable>. O Flask as passa como argumentos para a visualização.
from flask import Flask
app = Flask(__name__)
@app.route('/user/<username>')
def show_user(username):
return 'Profile of ' + username
print('URL /user/alice -> show_user')Conversores de tipo
Adicione um conversor, como <int:post_id>, para que o Flask valide o valor e o converta para o tipo correto.
from flask import Flask
app = Flask(__name__)
@app.route('/post/<int:post_id>')
def show_post(post_id):
return 'Post number ' + str(post_id)
print('post_id arrives as an int')Métodos HTTP
Por padrão, as rotas processam GET. Passe methods=['GET', 'POST'] para aceitar outros verbos.
from flask import Flask
app = Flask(__name__)
@app.route('/submit', methods=['GET', 'POST'])
def submit():
return 'Handled GET or POST'
print('submit accepts GET and POST')Verificando o método
Dentro de uma visualização, request.method informa qual verbo foi usado para que você possa escolher a lógica adequada.
from flask import Flask, request
app = Flask(__name__)
@app.route('/submit', methods=['GET', 'POST'])
def submit():
if request.method == 'POST':
return 'Form submitted'
return 'Show the form'
print('Branch on request.method')Retornando códigos de status
Retorne uma tupla (body, status_code) para definir o status HTTP, por exemplo, 404 para indicar que algo não foi encontrado.
from flask import Flask
app = Flask(__name__)
@app.route('/missing')
def missing():
return 'Not here', 404
print('Returns body with status 404')Construindo URLs
url_for('view_name') gera uma URL a partir do nome de uma visualização. Isso evita codificar caminhos diretamente, já que eles podem mudar.
from flask import Flask, url_for
app = Flask(__name__)
@app.route('/about')
def about():
return 'About'
# url_for('about') -> '/about'
print('url_for builds URLs by view name')Executando o servidor
Chame app.run(debug=True) para iniciar o servidor de desenvolvimento. O modo de depuração recarrega a aplicação quando há alterações e exibe páginas úteis de erro.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Hi'
if __name__ == '__main__':
app.run(debug=True)Verificação rápida
Teste seus conhecimentos sobre roteamento.
Recapitulação
Você criou rotas e visualizações no Flask.
app = Flask(__name__)cria a aplicação@app.route()associa uma URL a uma função de visualização<int:id>captura e converte partes dinâmicas da URLmethods=erequest.methodprocessam verbos HTTPurl_for()constrói URLs eapp.run()inicia o servidor
Perguntas Frequentes
A aula “Rotas e visualizações” é grátis?
Sim — o texto completo de “Rotas e visualizações” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 4 aulas no total.
O que vou aprender em “Rotas e visualizações”?
Trate solicitações HTTP Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Python Academy?
Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Rotas e visualizações”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Python Academy?
Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Rotas e visualizações
- Modelos com Jinja2
- Formulários e dados da solicitação
- Construção de um endpoint REST