Guia Abrangente para Cookies Flask
Neste guia abrangente, você explorará o mundo dos cookies Flask . Você aprenderá sobre o que são, como criá-los, lê-los e excluí-los e as práticas recomendadas para sua implementação.
O que são cookies?
Quando você visita um site , pequenos arquivos de texto conhecidos como cookies são armazenados em seu computador, contendo informações sobre seu envolvimento com o site e detalhes sobre você como usuário. Esses cookies são comumente usados para armazenar escolhas do usuário, credenciais de login e itens em um carrinho de compras, fornecendo aos aplicativos da web a capacidade de personalizar sua experiência de navegação e reter seus dados.
Biscoitos Frascos
Os cookies Flask funcionam da mesma maneira e são uma ferramenta essencial para a construção de aplicativos da Web que requerem autenticação e personalização do usuário.
Em Flask , o objeto Request contém um atributo de dicionário que contém todas as variáveis e valores de um cookie transmitido, bem como informações adicionais como tempo de expiração, caminho e nome de domínio do cookie.
Para definir um cookie no Flask, você precisa chamar o objeto de resposta e a função set_cookie() , que pode ser recuperada do valor de retorno da função de exibição usando a função make_response() .
Para ler um cookie, você pode simplesmente usar o método get() do atributo request.cookies.
Há um único elemento de entrada de texto presente na seguinte página HTML:
<html> <body> <form action = "/assigncookie" method = "POST"> <p><h3>Enter User Name</h3></p> <p><input type = 'text' name = 'name'/></p> <p><input type = 'submit' value = 'Login'/></p> </form> </body> </html>
Aqui está o código do arquivo getcookie.html:
<!doctype html> <html> <body> <h1>Username Cookie is assigned</h1> <a href = '/getcookie'>See your cookie here</a> </body> </html>
No exemplo abaixo, o aplicativo Flask exibirá um formulário básico quando o usuário navegar para a URL ' / '. O formulário é enviado para a URL ' /assigncookie ', onde a função de exibição associada atribui um cookie denominado “ userName ” e, em seguida, renderiza uma página diferente.
Esta página, denominada ' getcookie.html ', inclui um hiperlink que direciona para outra função de exibição chamada “ getcookie() “. Esta função recupera e mostra o valor do cookie no navegador do usuário.
from flask import Flask, render_template, request, make_response app = Flask(__name__) @app.route('/') def front_page(): return render_template('form.html') @app.route('/assigncookie', methods = ['POST', 'GET']) def assign_cookie(): if request.method == 'POST': user = request.form['name'] resp = make_response(render_template('getcookie.html')) resp.set_cookie('userName', user) return resp @app.route('/getcookie') def getcookie(): name = request.cookies.get('userName') return '<h1>Greetings '+name+'</h1>' if __name__ == '__main__': app.run(debug = True)
Saída
Execute o aplicativo e navegue até http://localhost:5000/
É assim que aparece o resultado da configuração de um cookie.
Abaixo está o resultado da recuperação e exibição de um cookie armazenado anteriormente.
Exemplo de Explicação
- O aplicativo envolve a configuração e recuperação de cookies.
- A função front_page() retorna um modelo HTML denominado 'form.html' quando o usuário visita a URL raiz ('/').
- A função assign_cookie() é chamada quando o usuário envia um formulário para a URL '/assigncookie'. Ele recupera o nome do usuário do formulário enviado e o salva em um cookie chamado 'userName' se o método de solicitação for POST. Em seguida, ele retorna um modelo HTML chamado 'getcookie.html' com o cookie definido no objeto de resposta.
- A função getcookie() é acionada quando o usuário clica no hiperlink que direciona para a URL '/getcookie'. Essa função recupera o valor do cookie 'userName' usando o método get() do atributo request.cookies e exibe uma mensagem de saudação com o nome recuperado usando uma tag HTML h1.
- Se o script for executado diretamente (não importado), o aplicativo será executado no modo de depuração chamando o método app.run().
Benefícios dos Cookies Flask
Aqui estão alguns benefícios do uso de cookies no Flask:
- Os cookies são comumente usados para gerenciamento de sessão em aplicativos da web. Ao armazenar um ID de sessão em um cookie, o Flask pode acompanhar a sessão do usuário e manter o estado da sessão em várias solicitações.
- Os cookies podem ser usados para armazenar informações de autenticação do usuário, como credenciais de login ou tokens de acesso. Isso permite que o Flask autentique usuários e restrinja o acesso a determinadas partes do aplicativo.
- Os cookies podem ser usados para personalizar a experiência do usuário, armazenando preferências ou configurações do usuário. Por exemplo, um site pode usar cookies para lembrar a preferência de idioma ou as configurações de exibição de um usuário.
- O Flask fornece suporte integrado para proteção CSRF, que usa cookies para verificar se uma solicitação veio de uma fonte confiável.
Os cookies Flask são uma ferramenta poderosa para criar aplicativos da Web, e o Flask fornece uma maneira conveniente de trabalhar com eles.
Conclusão
Os cookies Flask são úteis para desenvolvedores que desejam personalizar a experiência do usuário e gerenciar informações de estado em várias sessões e solicitações. Eles podem conter vários dados, como preferências do usuário, detalhes de login e itens do carrinho , melhorando a segurança ao criptografar os dados de autenticação. O Flask possui recursos embutidos que permitem a criação, recuperação e gerenciamento de cookies, permitindo que você incorpore facilmente essa funcionalidade em seus projetos. Consequentemente, os cookies Flask têm muitas vantagens e são um excelente recurso para a construção de aplicativos da Web mais abrangentes e centrados no usuário.