DEV Community

Cover image for Introdução ao Flask: Criando seu Primeiro "Olá Mundo!"
Lisandra Melo
Lisandra Melo

Posted on

Introdução ao Flask: Criando seu Primeiro "Olá Mundo!"

O Que é Flask?

Flask é um micro-framework especializado em desenvolvimento de aplicações web e de APIs RESTful para a linguagem de programação Python. Ser um micro-framework significa que o Flask é uma estrutura mais simples e leve que Frameworks comuns, especificamente, o flask somente necessita de duas bibliotecas: a biblioteca Jinja e a biblioteca Werkzeug.

A biblioteca Jinja é uma ferramenta para modificação de templates que é usada em frameworks web de Python como o Django, em outras palavras, com Jinja conseguimos usar variáveis e expressões escritas em Python em arquivos HTML ou XML. Desse modo, você consegue usar linhas de código dentro de um arquivo estático como o HTML que depois são renderizadas e apresentadas juntos aos outros conteúdos do arquivo, tornando o conteúdo da nossa página algo dinâmico.

Já a biblioteca Werkzeug, é um conjunto de utilidades e aplicações de um WSGI (Web Server Gateway Interface - Interface de Gateway de Servidor Web), ou seja, essa biblioteca apresenta aplicações para as maneiras de comunicações de um servidor da Web com aplicativos da Web e como esses podem ser encadeados para processar uma solicitação. Em resumo, essa biblioteca controla as interações entre a internet e nossas aplicações em flask.

O Que Preciso Para Começar com o Flask?

Para começar com o Flask é indicável que você tenha conhecimento básico de Python, juntamente com conhecimento de HTML, CSS e JavaScript. Além de, obviamente, a instalação do Python e do Flask.

Dito isso, agora instalaremos o flask, como o framework é uma biblioteca python, precisamos instalar o python em nossa máquina antes de usar o flask. Quanto à instalação da biblioteca, usaremos um instalador de pacotes python, como pip, e para realizar a instalação, digitaremos o seguinte comando em nosso terminal:

$ pip install Flask
Enter fullscreen mode Exit fullscreen mode

Ao executar esse comando você estará instalando o Flask em toda sua máquina, mas é recomendado que não façamos isso e usemos um ambiente virtual como o Virtualenv, mas para evitar quaisquer complicações utilizaremos esse caminho mais simples de instalação.

Criando Nosso "Olá Mundo!"

Primeiramente, temos que importar a classe Flask da biblioteca flask para o nosso programa:

# Primeiro precisamos importar a Classe Flask da biblioteca Flask que instalamos
from flask import Flask
Enter fullscreen mode Exit fullscreen mode

Depois disso, precisaremos criar um objeto da classe Flask. No seu construtor geralmente usamos o termo __name__, pois com tal termo o Flask saberá onde procurar arquivos HTML, CSS e outros facilmente.

# Agora criaremos um objeto da classe Flask
app = Flask(__name__)
Enter fullscreen mode Exit fullscreen mode

O Flask funciona com um sistema interno de rotas, cada rota representa um endereço do nosso domínio. Imagine que o domínio da nossa página é olamundo.com.br uma rota desse endereço pode ser /olaespecial que se comporta se juntando ao domínio para representar outro local no nosso site, nesse caso, o local seria olamundo.com.br/olaespecial.

Cada rota engatilha o funcionamento de uma função específica (a função localizada imediatamente abaixo da definição da rota) no nosso programa, essa função determinará o que será executado no nosso endereço a partir do seu retorno. Além disso, retorno dessa função é interpretado como HTML e rederizado como um.

Então, criaremos nossas duas primeiras rotas.

"""
Agora definiremos uma rota com o @app.route() o parâmetro dentro dos parênteses
representam um endereço da nossa rota.
Quando usamos somente '/' nos parênteses estamos especificando a rota principal
do nosso site, ou seja só estamos buscando a página referente ao domínio do site
"""
@app.route('/')
def ola_mundo():
    return 'Ola Mundo!'

"""
Agora definiremos uma segunda rota com o @app.route() o parâmetro dentro dos
parênteses representam um endereço de nossa rota. Nesse caso, nossa rota
será dominio.com.br/lisandra
"""
@app.route('/lisandra')
def ola_lisandra():
    # Retornaremos uma tag HTML nesse caso
    return '<h1>Olá Lisandra!</h1>'
Enter fullscreen mode Exit fullscreen mode

Agora temos nossa primeira aplicação web pronta para executá-la podemos realizar dois processos.

Primeiro Método de Executar Localmente o Flask

O primeiro método para execução do flash consiste em usar o comando flask para executar seu programa, mas antes de utilizá-lo, você deverá dizer para as configurações do flask qual o nome do seu programa.

  • Se você está no Linux, pode digitar o seguinte comando no seu terminal:
$ export FLASK_APP=<nomedoseuprograma>.py
Enter fullscreen mode Exit fullscreen mode
  • Se você está no Windows, digite no seu prompt de comando a seguinte linha de código:
C:\lugar\da\sua\aplicacao>set FLASK_APP=<nomedoseuprograma>.py
Enter fullscreen mode Exit fullscreen mode
  • Já se você estiver no power shell, digite:
PS C:\lugar\da\sua\aplicacao>$env:FLASK_APP = "<nomedoseuprograma>.py"
Enter fullscreen mode Exit fullscreen mode

Depois disso, você pode executar o seguinte comando para executar seu programa.

flask run
Enter fullscreen mode Exit fullscreen mode

Segundo Método

Outra maneira de executar sua aplicação é adicionando algumas linhas de código a sua aplicação. Primeiro, testaremos se estamos executando esse programa como um programa sozinho ou o importando, caso esteja sendo executado como um programa a variável __name__ recebe o valor de __main__, caso seja importado, não.

Após isso, iremos usar o método run() da classe Flask para executar o nosso programa.

"""
Agora determinaremos que desejamos executar nosso app, para isso usamos o app.run()
poderíamos somente escrever isso no final do nosso programa, mas fazemos um teste
antes esse teste verifica se nossa variável __name__ é igual a '__main__' quando
um arquivo.py é executado por sozinho como um programa, __name__ é definido
como '__main__' logo se executarmos o nosso programa iremos executar o app.run()
"""
if __name__ == "__main__":
    app.run()
Enter fullscreen mode Exit fullscreen mode

Depois, para executar seu programa escreva no seu terminal o seguinte comando.

python <nomedoseuprograma>.py
Enter fullscreen mode Exit fullscreen mode

Execução

Ao executar o programa em qualquer uma das formas, você verá na sua tela algo como a seguinte saída.

 * Serving Flask app "ola" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Enter fullscreen mode Exit fullscreen mode

E agora se você acessar o endereço mostrado na sua saída você verá a seguinte saída:
Olá Mundo desenvolvido no programa apresentado no navegador
Olá Mundo desenvolvido no programa apresentado no navegador

Já se você acessar nossa rota '/lisandra' no endereço http://127.0.0.1:5000/lisandra você verá a saída "Olá Lisandra!", pois foi o que pedimos no retorno da nossa função.
Print do retorno ao acessar a segunda rota criada
Print do retorno ao acessar a segunda rota criada

Perceba que o "Olá Lisandra!" está impresso como um elemento <h1>, pois nosso retorno na função da rota /lisandra é executado sempre como um conteúdo HTML, então quaisquer tags no retorno serão executadas.

Agora você pode ver seu primeiro site usando Flask em funcionamento!

O programa desenvolvido nesse tutorial está disponível no meu repositório do gitlab.

Top comments (0)