Retornando páginas HTML em requisições Flask

Sabemos que a principal forma que os usuários possuem para interagir com nossas aplicações web, são utilizando páginas HTML. No Flask, isso não é diferente.

Vimos no artigo anterior como criar nossa primeira app, porém estávamos retornando uma string como resposta de uma requisição. Sendo assim, neste artigo veremos como retornar páginas HTML através dos métodos da nossa aplicação Flask.

Respondendo requisições com HTML

O primeiro passo para retornar uma página HTML como resposta de uma requisição no Flask, é criar o diretório que armazenará estes arquivos. Para isso, criamos um diretório chamado “templates” dentro do projeto. É lá que serão armazenados os arquivos HTML do projeto:



Agora, dentro do diretório “templates”, podemos criar os arquivos HTML do nosso projeto:

Por fim, para retornar a página index.htmlnos métodos do nosso projeto Flask, utilizamos o método render_template(), como podemos ver abaixo:


from flask import Flask, render_template app = Flask(__name__) @app.route("/teste") def index(): return render_template('index.html') if __name__ == "__main__": app.run()
Flask - Fundamentos
Curso de Flask - Fundamentos
CONHEÇA O CURSO

Com isso, ao acessar a rota 127.0.0.1:5000/teste, teremos o seguinte retorno:

Vale lembrar que, por padrão, o Flask irá procurar o arquivo index.htmlno diretório templates do projeto. Caso você queira criá-lo em um diretório com outro nome, você deve passá-lo como parâmetro do construtor do Flask:

from flask import Flask, render_template

app = Flask(__name__, template_folder='templates_folder')

@app.route("/teste")
def index():
  return render_template('index.html')

if __name__ == "__main__":
 app.run()

Isso fará com que todos os templates sejam buscados no diretório templates_folderdo seu projeto (ou qualquer nome que você preferir).

Concluindo…

Como dito acima, as páginas HTML são os principais meios de interação entre um usuário e uma aplicação web. Saber como retorná-las é de extrema importância para qualquer desenvolvedor.

Além disso, o Jinja2 possui diversos recursos para trabalhar com este tipo de arquivo, e é exatamente isso que veremos no próximo artigo desta trilha 🙂

Deixe seu comentário

Professor na TreinaWeb e graduando em Sistemas de Informação pelo Instituto Federal da Bahia. Apaixonado por desenvolvimento web, desktop e mobile desde os 12 anos de idade. Já utilizou todos os sistemas operacionais possíveis, mas hoje se contenta com o OSX instalado em seu notebook Samsung. Até passou em uma peneira do Cruzeiro, mas preferiu estudar Python.