aulify
UC UC02834 · T. Desenv. Software, T. Inform. Gestão
Ficha 01 · Rotas, templates e formulários
Flask básico, Jinja2, processar formulários
Versão · Aluno
Tempo · 60 minutos
Cotação · 100 pontos
Aluno(a)
Turma
Nº
Data
Objectivos da ficha
- Definir rotas
- Usar templates
- Processar formulários
- Aplicar herança de templates
Parte I · Rotas
Exercício 1 · Definir rotas (15 pts)
Escreve rotas Flask para:
a) / que devolve "Bem-vindo".
b) /produto/<id> que mostra o id (inteiro).
c) /pesquisa?q=... que mostra o termo pesquisado.
Exercício 2 · Métodos HTTP (10 pts)
a) Como permitir que uma rota aceite GET e POST?
b) Como distinguir, dentro da função, se o pedido é GET ou POST?
Parte II · Templates
Exercício 3 · Renderizar lista (20 pts)
Escreve a rota e o template Jinja2 para mostrar uma lista de alunos (nome + nota), com mensagem se a lista estiver vazia.
Exercício 4 · Herança de templates (20 pts)
Cria um base.html com blocos titulo e conteudo, e uma página produtos.html que o estende.
Parte III · Formulários
Exercício 5 · Processar formulário (20 pts)
Cria uma rota /registar que:
- GET: mostra formulário (nome, email).
- POST: valida (nome ≥ 2 caracteres, email tem @), mostra erros ou regista.
Exercício 6 · XSS (15 pts)
Um colega escreveu:
<p>{{ comentario|safe }}</p>
a) Qual o risco?
b) Como corrigir?
c) Quando é |safe legítimo?