Frasco Mensagem Piscando

Neste artigo, você aprenderá sobre o flashing de mensagens do Flask – o que é, como funciona e como você pode usá-lo efetivamente em seus aplicativos da web.

Como desenvolvedor da web, é importante fornecer feedback aos seus usuários para que eles sejam informados sobre suas ações em seu aplicativo da web. Isso pode ser feito usando o sistema de flashing de mensagens da estrutura Flask.



O que é a mensagem do Flask piscando?

A exibição de mensagens em flask permite que você crie mensagens em uma exibição e as exiba em outra função de exibição denominada “ próximo ”.

Flask fornece o método flash() em seu módulo, que transfere uma mensagem para a seguinte solicitação, geralmente um modelo.

O uso da exibição de mensagens do Flask pode oferecer grande valor ao fornecer feedback aos usuários depois que eles executam determinadas ações, como preencher um formulário ou concluir um processo de registro. A mensagem pode ser mantida em um cookie ou na sessão, dependendo de como o site está configurado.

Por exemplo, se um usuário preencher um formulário de registro com sucesso, uma mensagem flash pode ser gerada para notificar o usuário de que seu registro foi bem-sucedido. Essa funcionalidade economiza seu tempo e esforço na criação de páginas individuais para cada tipo de mensagem e oferece uma experiência de usuário mais simplificada.

O recurso de flashing do Flask permite que você crie uma mensagem em uma parte de um site e mostre-a em outra parte posteriormente. Isso significa que você pode criar uma mensagem em uma página e mostrá-la em uma página diferente quando o usuário for para lá.


Como funciona o piscar de mensagens do Flask?

Para usar a mensagem Flask piscando, primeiro você precisa importar a função flash() do módulo Flask. Depois de importado, você pode chamar a função flash() e passar uma mensagem como string. Esta mensagem ficará armazenada em um local temporário e estará disponível na próxima requisição.

Aqui está um exemplo de como usar a função flash().

O método Flash() envia uma mensagem para a próxima solicitação, que geralmente é um modelo:

flash(message, category)

parâmetros da função flash():

Parâmetros Visão geral
mensagem Esta parte é a mensagem que será mostrada ao usuário.
categoria Você não precisa usar esta parte, mas pode optar por usá-la se quiser. Ele oferece três opções de 'erro', 'informações' ou 'aviso'.

Para fazer com que a mensagem desapareça, o modelo pode invocar get_flashed_messages() . Isso eliminará a mensagem da sessão.

get_flashed_messages(with_categories, category_filter)

Você não precisa utilizar essas duas partes, mas pode, se quiser.

  • A primeira parte é para mensagens classificadas em grupos diferentes.
  • A segunda parte é útil se você quiser mostrar apenas algumas mensagens.

arquivo main.html

<!doctype html>

<html>

   <head>

      <title>Flask Message flashing</title>

   </head>

   <body>

      {% with messages = get_flashed_messages() %}

         {% if messages %}

            <ul>

               {% for message in messages %}

               <li>{{ message }}</li>

               {% endfor %}

            </ul>

         {% endif %}

      {% endwith %}

      <h1>Flask Message Flashing Testing</h1>

      <p><a href = "{{ url_for('login') }}">

         <b>log in?</b></a> your account here.</p>

   </body>

</html>

Explicação

No trecho de código de exemplo acima, estamos usando o recurso de flash de mensagem Flask para exibir mensagens para o usuário. Começamos definindo um documento HTML com uma seção de cabeçalho e corpo .

Dentro da seção do corpo, usamos a função get_flashed_messages() do Flask para recuperar todas as mensagens que foram enviadas ao usuário. Em seguida, usamos uma instrução if para verificar se há alguma mensagem e, se houver, as exibimos como uma lista não ordenada usando um loop for para iterar cada mensagem.

Em seguida, temos um cabeçalho com o texto “ Flask Message Flashing Testing ”.

Finalmente, incluímos um link que redireciona o usuário para a página de login usando a função url_for() do Flask .


arquivo form.html

<!doctype html>

<html>

   <body>

      <h1>Login</h1>

      {% if error %}

         <p><strong>Error:</strong> {{ error }}

      {% endif %}

      <form action = "" method = post>

         <dl>

            <dt>Client Name: </dt>

            <dd>

               <input type = text name = cname 

                  value = "{{request.form.username }}">

            </dd>

            <dt>Password: </dt>

            <dd><input type = password name = pwd></dd>

         </dl>

         <p><input type = submit value = Login></p>

      </form>

   </body>

</html>

Explicação

Neste exemplo, temos um formulário de login HTML que permite aos usuários inserir seu nome de cliente e senha. Se houver um erro durante o processo de login, uma mensagem de erro será exibida usando a funcionalidade de tratamento de erros do Flask.

O formulário é enviado usando o método HTTP POST e os dados são enviados ao servidor para serem processados. Os dados do formulário são acessados ​​usando o objeto de solicitação Flask, e o nome e a senha do cliente são obtidos dos dados do formulário usando o atributo name dos elementos de entrada.

O código HTML também inclui alguma formatação simples e texto para orientar o usuário durante o processo de login.

arquivo mrx.py

from flask import Flask, flash, redirect, render_template, request, url_for

app = Flask(__name__)

app.secret_key = 'mrexamples'

@app.route('/')

def index():

   return render_template('main.html')

@app.route('/login', methods = ['GET', 'POST'])

def login():

   error = None  

   if request.method == 'POST':

      if request.form['cname'] != 'mrexamples' or \

         request.form['pwd'] != 'mrexamples':

         error = 'Client Name and Password is incorrect. Please enter the accurate data!'

      else:

         name = request.form['cname']

         flash(f'{name} account were successfully logged in')

         return redirect(url_for('index'))

   return render_template('form.html', error = error)

if __name__ == "__main__":

   app.run(debug = True)

Explicação

  • O código importa módulos Flask e cria uma instância do aplicativo Flask.
  • Uma chave secreta é definida para o aplicativo usar para segurança e criptografia.
  • Duas rotas são definidas para o aplicativo: '/' e '/login'.
  • A rota '/' renderiza um modelo chamado 'main.html'.
  • A rota '/login' é onde a mensagem piscando acontece. Se o método de solicitação for POST, o código verificará se o nome e a senha do cliente enviados são válidos. Se não estiverem, ele define a variável 'error' para uma mensagem de erro específica. Se os dados enviados forem válidos, ele armazena o nome do cliente em uma variável chamada 'nome' e exibe uma mensagem de sucesso que inclui o nome. O usuário é então redirecionado para a página inicial usando a função redirect(). Se o método de solicitação for GET ou se os dados enviados forem inválidos, ele renderiza um modelo chamado 'form.html' e passa a variável 'error' para ele.
  • O aplicativo é executado com o modo de depuração ativado.

Saída do Programa

Depois de executar os códigos mencionados acima, você poderá ver a tela semelhante à exibida abaixo.

Se você clicar no link, será direcionado para a página de login, onde precisará fornecer o nome do cliente e a senha.

Depois de clicar em Login, uma mensagem dizendo “a conta mrexamples foi conectada com sucesso” será exibida.


Benefícios

A seguir estão alguns benefícios de usar Flask Message Flashing:

  • A exibição de mensagens em flask pode melhorar a experiência do usuário, fornecendo feedback claro aos usuários sobre o sucesso ou o fracasso de suas ações.
  • Implementar a exibição de mensagens do Flask é simples e requer alterações mínimas no código, tornando-o uma maneira eficaz de exibir mensagens para o usuário.
  • O flashing de mensagem em balão permite a personalização das mensagens exibidas ao usuário, incluindo a criação de categorias e estilos de mensagens que atendam às necessidades específicas.
  • A exibição de mensagens Flask pode ser usada em aplicativos de grande escala, é fácil de manter e pode ser usada em conjunto com outras extensões Flask.
  • Mensagens consistentes em todo o aplicativo podem ser garantidas com a exibição de mensagens Flask, melhorando a experiência geral do usuário e reduzindo a confusão.

Conclusão

Você pode se beneficiar muito do Flask Message Flashing ao desenvolver seu aplicativo da Web usando o Flask. É um recurso útil que pode melhorar a experiência do usuário , fornecendo feedback claro sobre o sucesso ou fracasso de suas ações. As mensagens também podem ser personalizadas para atender às necessidades de sua aplicação. Flask Message Flashing é fácil de implementar e manter, tornando-se uma ferramenta prática para usar em aplicações de grande escala sem problemas. Em resumo, se você deseja criar um aplicativo da Web amigável e eficaz, o Flask Message Flashing é um recurso valioso que você deve considerar usar.

Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone