Flask (framework web)
# Flask (framework web)

Flask é um pequeno framework web escrito em Python. É classificado como um microframework porque não requer ferramentas ou bibliotecas particulares, mantendo um núcleo simples, porém, extensível. Não possui camada de abstração de banco de dados, validação de formulário ou quaisquer outros componentes onde bibliotecas de terceiros preexistentes fornecem funções comuns. No entanto, o Flask oferece suporte a extensões que podem adicionar recursos do aplicativo como se fossem implementados no próprio Flask. Existem extensões para mapeadores objeto-relacional, validação de formulário, manipulação de upload, várias tecnologias de autenticação aberta e várias ferramentas comuns relacionadas ao framework.
Aplicações que utilizam o framework Flask incluem a própria página da comunidade de desenvolvedores, o Pinterest e o LinkedIn.

## Componentes

O microframework Flask é baseado nos projetos Pocoo, Werkzeug e Jinja2.

### Werkzeug

Werkzeug é uma biblioteca de utilitários para a linguagem de programação Python, em outras palavras, um kit de ferramentas para aplicativos Web Server Gateway Interface (WSGI), e é licenciada sob uma Licença BSD. Werkzeug pode realizar objetos de software para funções de solicitação, resposta e utilidade. Ele pode ser usado para construir um framework de software customizado em cima dele e suporta Python 2.7, 3.5 e posteriores.

### Jinja

Jinja, também da Ronacher, é um mecanismo de template para a linguagem de programação Python e está licenciado sob uma Licença BSD. Semelhante ao framework web Django, ele lida com modelos em uma sandbox.

## Exemplo

O código abaixo mostra uma aplicação web simples que imprime na tela do navegador "Olá mundo!":