Partilhar: WhatsApp
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
Data
Objectivos da ficha

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?