Compreendendo as regras de variáveis do frasco
Com as regras de variáveis do Flask , você pode criar rotas dinâmicas para seus aplicativos da web.
Você define regras variáveis no caminho da rota colocando uma seção do caminho entre colchetes angulares “ <> ” e fornecendo um nome de variável dentro dos colchetes.
Essas variáveis podem ser usadas para gerar respostas personalizadas para seus usuários.
Regras Variáveis do Frasco
As regras de variáveis Flask possibilitam a criação de URLs dinâmicas ao permitir a incorporação de uma ou mais variáveis que podem facilitar a transferência de informações entre as páginas. Uma URL como /welcome/17 pode ser estabelecida, com 17 servindo como uma variável que representa um ID de usuário.
Para definir regras de variáveis no Flask , são utilizados colchetes angulares (<>) na definição da rota, com o nome da variável especificado entre os colchetes.
Por exemplo, uma rota aceitando uma variável de ID de usuário pode ser estabelecida definindo uma rota da seguinte maneira:
from flask import Flask app = Flask(__name__) @app.route('/greetings/<username>') def display_name(username): return f'Heyy {username} how are you?' if __name__ == '__main__': app.run(debug = True)
Você pode salvar o script acima fornecido como “Greetings.py” e executá-lo no shell do Python. Em seguida, abra um navegador da Web e digite o seguinte URL: http://localhost:5000/greetings/Developer.
O navegador renderizará o resultado a seguir.
Além do segmento de variável de string padrão, as regras podem ser geradas utilizando os conversores listados abaixo.
Sr. Não. | Visão geral |
1 | int
Suporta números inteiros |
2 | flutuador
Para expressar um valor numérico com um componente fracionário. |
3 | caminho
Permite que barras sejam utilizadas como o caractere que separa os diretórios. |
Todos os construtores são utilizados no código abaixo.
from flask import Flask app = Flask(__name__) @app.route('/intnum/<int:num>') def intNum(num): return f'Integer Number is: {num}' @app.route('/floatnum/<float:num>') def floatNum(num): return f'Float Number is: {num}' if __name__ == '__main__': app.run(debug = True)
Exiba o código acima com especificadores de formato:
from flask import Flask app = Flask(__name__) @app.route('/intnum/<int:num>') def intNum(num): return 'Integer Number is: %d' %num @app.route('/floatnum/<float:num>') def floatNum(num): return 'Float Number is: %f' %num if __name__ == '__main__': app.run(debug = True)
Execute o código mencionado anteriormente no Python Shell, abra um navegador da Web e navegue até a URL http://localhost:5000/intnum/28 . Isso passará o número 28 como um argumento para a função intNum() e a resposta será renderizada no navegador.
Integer Number is: 28
Digite o URL fornecido, http://localhost:5000/floatnum/91.25, na barra de endereços do navegador. Isso passará o número de ponto flutuante 91,25 como um argumento para a função floatNum(). A saída resultante ficará visível na janela do navegador.
Float Number is: 91.250000
O sistema de roteamento de URL do Flask é construído sobre o módulo de roteamento de Werkzeug.
Isso garante que as URLs geradas sejam distintas e sigam os padrões estabelecidos pelo Apache.
Dê uma olhada no script a seguir para determinar as regras de roteamento:
from flask import Flask app = Flask(__name__) @app.route('/mrexamples/') def mrx(): return 'Hello developers welcome to mrexamples' @app.route('/cleverbot2') def chatbot(): return 'This is a chat bot. Here you can ask anything you want' if __name__ == '__main__': app.run(debug = True)
No código a seguir, renderize a diferença e a soma dos números no navegador:
from flask import Flask app = Flask(__name__) @app.route('/add') def add(): return f'7 + 10 = {7+10}' @app.route('/difference/') def subtract(): return f'10 - 7 = {10-7}' if __name__ == '__main__': app.run(debug = True)
Embora ambas as regras possam parecer semelhantes, a segunda usa uma barra final, tornando-a a URL autoritativa. Portanto, acessar /difference ou /difference/ dará uma resposta idêntica . No entanto, tentar acessar /add/ por meio da primeira regra resultará em uma página de erro 404 Not Found.
Exemplo de Explicação
- O exemplo de código acima mostra um aplicativo web Flask com duas rotas.
- Essas rotas são definidas usando o decorador @app.route .
- A primeira rota, /add , chama uma função chamada add que adiciona dois números (7 e 10) e exibe o resultado como uma string.
- Quando o usuário visita a URL http://localhost:5000/add , a função add é executada e exibe “7 + 10 = 17” no navegador.
- A segunda rota, /difference/ , chama uma função chamada subtract que subtrai 7 de 10 e exibe o resultado como uma string.
- Esta rota tem uma barra final, tornando-a a URL canônica, então /difference e /difference/ irão executar a mesma função.
- Quando o usuário visita a URL http://localhost:5000/difference ou http://localhost:5000/difference/ , a função de subtração é executada e exibe “10 – 7 = 3” no navegador.
- Por fim, o bloco if name == '__main__': inicia o aplicativo Flask no modo de depuração no host local.
Benefícios
- As regras de variável Flask habilitam o roteamento de URL dinâmico que permite aos desenvolvedores definir um único padrão de URL que pode corresponder a vários URLs exclusivos.
- Usando as regras de variáveis do Flask, os desenvolvedores podem criar URLs limpas e legíveis que podem melhorar a experiência do usuário e tornar mais fácil para os mecanismos de pesquisa indexar páginas da web.
- As regras de variável Flask podem ser usadas para extrair dados da URL e usá-los na lógica do aplicativo, como extrair um ID do usuário da URL para exibir as informações apropriadas do usuário.
- As regras de variável Flask também podem melhorar o tratamento de erros em aplicativos da Web, redirecionando os usuários para páginas mais apropriadas ou exibindo mensagens de erro quando os usuários inserem URLs incorretos.
Conclusão
Para trabalhar com variáveis no Flask, é importante seguir um conjunto de diretrizes para garantir o bom e eficaz funcionamento de sua aplicação. Essas diretrizes abrangem a definição correta de variáveis, sua transmissão adequada para modelos e a garantia de que são seguras. Além disso, seguir a sintaxe e as convenções para uso de variáveis no Flask é vital para garantir a legibilidade e manutenção do seu código. Aderindo a essas diretrizes, você pode construir páginas da Web dinâmicas e responsivas que utilizam variáveis para criar experiências de usuário personalizadas e cativantes. Em resumo, compreender os regulamentos para lidar com variáveis no Flask é fundamental para desenvolvedores que buscam criar aplicativos Web robustos com essa estrutura Python amplamente utilizada.