Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

request.form.get(name) ou request.form['name']

A minha dúvida surgiu a partir de um código flask que eu estava fazendo e fui ver sua documentação e vídeos, e vi algumas pessoas usam request.form.get() para requisitar algo, que no vídeo é citado como request.form[]. Sendo os dois, duas formas de requisitar, qual é a diferença entre eles, já que um você mexe o atributo em si, e outro é uma função de getter? A função tem alguma funcionabilidade que modifica o jeito de ser requisitado?

2 respostas
solução!

Oi, dev! Tudo bem?

Podemos dizer que request.form.get(name) e request.form['name'] são duas formas diferentes de obter o valor associado a um campo específico no formulário no Flask, entretanto, a sua diferença se dá na forma como lidam com a obtenção desses valores.

Quando usamos request.form.get(name), o Flask retorna o valor do campo com o nome especificado, se existir. Caso contrário, ele retorna None, o que é útil quando não temos certeza se o campo existe no formulário e queremos evitar erros.

Por exemplo, se temos um formulário com um campo de nome "username" e queremos obter o valor desse campo, podemos usar request.form.get('username'). Se o campo existir, receberemos o valor, caso contrário, receberemos None.

Já quando usamos request.form['name'], o Flask retorna o valor do campo com o nome especificado, mas se o campo não existir, ele gera um erro. Portanto, é importante ter certeza de que o campo existe antes de usá-lo dessa forma.

Em resumo, request.form.get(name) é mais seguro, pois evita erros quando o campo não existe, enquanto request.form['name'] é mais direto, mas requer que você tenha certeza de que o campo existe.

Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓

Muito obrigado, vai ajudar muito nas minhas aplicações. Valeu de verdade.