Contador de visitas com Flask
Hoje vamos ver como podemos fazer um simples contador de visitas com Flask. Nele vamos usar cookies para armazenar o valor de nosso contador.
Antes de tudo instalaremos nossa biblioteca com o seguinte comando:
pip install Flask
Agora vamos criar um arquivo chamado flask_visit_counter.py
e
adicionar o seguinte código nele:
from flask import Flask, request, make_response | |
app = Flask(__name__) | |
@app.route('/') | |
def visit_counter(): | |
visits = int(getattr(request.cookies, 'visits', 0)) + 1 | |
msg = f''' | |
<h1> | |
{visits} visita{"s" if visits > 2 else ""} | |
</h1> | |
''' | |
res = make_response(msg) | |
res.set_cookie('visits', str(visits)) | |
return res | |
@app.route('/reset') | |
def reset_counter(): | |
res = make_response('Resetting... ok') | |
res.set_cookie('visits', '0', 0) | |
return res | |
if __name__ == "__main__": | |
app.run(host='0.0.0.0', port=4000) |
Começamos importando nossa classe Flask e algumas coisinhas que vão nos ser útil.
Instanciamos nossa classe Flask
à variável
app
.
Na linha 6 criamos uma função que aqui dei o nomeei de visit_counter e decoramos com um método do nosso app que vai chamar nossa função sempre que acessarmos nosso projeto via navegador.
Na linha 7 criamos uma variável que nos vai ser bastante importante. Vamos agora pegar o cookie de nome visit, converter pra inteiro e somar um — para saber como funciona a função getattr clique aqui.
Criamos uma variável msg de string multilinha, um html simples que dentro de uma tag h1 que mostra o número de visitas desse usuário, e pluraliza se for maior que dois.
Agora criamos outra variável e atribuímos make_response
à ela,
passando nossa mensagem.
Chamamos o método set_cookie passando o nome do cookie e seu valor, que aqui convertemos para string. Agora retornamos nossa variável res
Para o caminho /reset fazemos algo similar ao caminho raiz, porém dessa vez apenas setamos o mesmo cookie com um zero, e no terceiro parâmetro passamos um 0 no tipo inteiro; aqui dizemos que esse cookie só vai valer por 0 segundos, assim o apagando assim que é “atualizado”.
Agora rodamos nosso mini projeto na linha 26.
Tudo entendido até agora?
Por fim basta a gente acessar nosso terminal e rodar o seguinte comando
python flask_visit_counter.py
OBS: se você tiver mais de uma versão do Python instalada em sua máquina, use “python3” no lugar de “python”.
Agora é só ir no navegador, acessar http://localhost:4000/ e ser feliz.
Oh, será que deu pra entender bem? Espero nos vermos novamente.
Comentários
Postar um comentário
O que achou do artigo?