python flask tutorial introduction flask
Este tutorial introdutório do Python Flask explica o que é Flask, instalação do Python, Virtualenv, exemplo do Flask Hello World com uma seção sobre exemplos de código, depuração e teste:
O desenvolvimento de sites é mais uma arte do que uma habilidade. Requer paciência e diligência, juntamente com perseverança, coragem e dedicação para criar o que é necessário para que seja um verdadeiro sucesso. Hoje em dia, é essencial que os alunos aprendam o mais rápido possível.
Criamos este tutorial Python Flask para que os alunos se atualizem e implementem programação web simples e complexa usando Python 3.
Este tutorial do Python Flask é mais como um tutorial do Flask para iniciantes, que cobrirá a instalação do Python, Virtualenv e outros pacotes essenciais. Nesta série de tutoriais, também instalaremos o Flask junto com os outros plug-ins do Flask necessários. Também incluímos uma seção sobre depuração de código, teste e integração contínua usando Ações Git.
O que você aprenderá:
Lista de tutoriais nesta série de frascos
Tutorial # 1: Tutorial do Python Flask - introdução ao Flask para iniciantes
Tutorial # 2: Modelo, formulário, visualização e redirecionamento de frasco com exemplos
Tutorial nº 3: Manuseio do banco de dados Flask - como usar o Flask com um banco de dados
Tutorial nº 4: Flask App e layout de projeto de Flask com Blueprint e Bootstrap
Tutorial # 5: Padrões de design e práticas recomendadas para aplicativos da Web
Tutorial # 6: Tutorial de API do Flask com exemplo | Estendendo Flask com APIs
Tutorial nº 7: Django Vs Flask Vs Node: Qual Framework Selecionar
Tutorial # 8: As 31 principais perguntas populares da entrevista em Python Flask com respostas
O que é frasco
Flask é uma estrutura de desenvolvimento web. É uma estrutura com um servidor de desenvolvimento integrado e um depurador.
ferramentas para testar serviços da web repousantes
O framework Flask em si é diferente dos outros arquétipos, pois permite que os desenvolvedores da web sejam flexíveis e acomodem confortavelmente as mudanças frequentemente lançadas na comunidade de desenvolvimento de software.
Para que o frasco é usado
Usamos a estrutura Flask para desenvolver aplicativos da Web na linguagem de programação Python. Ele se integra a outros serviços e APIs de terceiros para trazer riqueza e significado ao aplicativo em desenvolvimento. Os conceitos básicos do Flask são simples e ocupam uma área pequena.
Vamos começar com este tutorial do Python Flask para entender o desenvolvimento da Web com a ajuda de um repositório Flask GitHub. No entanto, antes de prosseguir, clone o projeto do Github para facilitar o acompanhamento dos exemplos de código discutidos.
Pré-requisitos
Além dos títulos mencionados nesta seção, recomendamos a criação de uma conta Github. Vamos prosseguir com as etapas mencionadas abaixo nos pré-requisitos.
Etapa 1: instalar o Python
Verifique se você instalou o Python 3 ou não. Caso contrário, baixe Python 3 em aqui e instale-o de acordo com seu sistema operacional.
Etapa 2: criar um ambiente virtual Python
Crie um ambiente virtual usando o comando abaixo.
python3 -m venv venvUse o comando abaixo para ativar o ambiente virtual Python.
source venv/bin/activateDamos um exemplo de ativação e desativação do ambiente virtual abaixo.

Todos os comandos subsequentes neste tutorial devem ser executados em um ambiente virtual ativado. Instale o pacote de rodas para que possamos construir rodas dentro do ambiente virtual.
pip install wheelEtapa 3: Baixar e inserir o frasco
Precisamos realizar as etapas de download do Flask e instalar o Flask usando as etapas mencionadas abaixo.
Agora instale o Flask.
pip install flaskAlguns de nós gostam de trabalhar junto com as últimas alterações do código-fonte. Podemos usar o comando fornecido a seguir para instalar com as últimas mudanças nas fontes do Flask.
Faça um diretório temporário.
mkdir tmpAgora instale o Flask do repositório Github. Você precisa permanecer conectado à Internet para que o comando abaixo funcione.
pip3 install -e git+git@github.com:pallets/flask.git#egg=flaskObserve as saídas do console para verificar se a instalação foi bem-sucedida. Agora verifique se podemos acessar os comandos Flask.
flask --helpVocê pode ver algumas exceções sobre a ausência de um aplicativo Flask. No entanto, negligencie-os, pois não criamos nenhum aplicativo Flask. Nosso aplicativo é uma instância do Flask, que é um invólucro da estrutura da web Werkzeug e do mecanismo de modelagem Jinja.
Ferramenta
Werkzeug é um kit de ferramentas WSGI. WSGI é apenas uma convenção de chamada para os servidores web encaminharem pedidos da web para aplicativos da web escritos na linguagem de programação Python.
Jinja
A modelagem é um conjunto de habilidades essenciais dos desenvolvedores da web. Jinja é um mecanismo de modelos popular e repleto de recursos para Python. É uma linguagem bastante expressiva e fornece um conjunto robusto de ferramentas para autores de templates.
Etapa 4: Instale o MongoDB
Siga as etapas mencionadas abaixo para instalar o MongoDB. Descrevemos os passos para instalá-lo em um Linux baseado em Debian. Se você estiver usando outro sistema operacional, acesse o ligação e instale de acordo com o sistema operacional pretendido.
Instale o gnupg para importar a chave GPG pública do MongoDB.
sudo apt-get install gnupgAgora importe a chave usando o comando abaixo.
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -Crie o arquivo de lista de fontes de acordo com sua distribuição Linux. Nós adicionamos a lista de fontes de acordo com o Debian.
echo 'deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main' | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.listExecutar comando de atualização
sudo apt-get updateAgora instale o MongoDB, usando o comando abaixo.
sudo apt-get install -y mongodb-orgAssim que a instalação for bem-sucedida, inicie o MongoDB usando o comando abaixo.
sudo systemctl start mongodVerifique o status do MongoDB, usando o comando abaixo.
sudo systemctl status mongodAgora certifique-se de que o mongod inicie automaticamente na reinicialização do sistema, emitindo o comando mostrado abaixo.
sudo systemctl enable mongodAgora verifique se você pode se conectar ao servidor MongoDB usando o cliente mongo.
mongoNo shell do mongo, tente usar os comandos help e show dbs.
Criar um aplicativo Flask
Use o comando abaixo para instalar o flask-appbuilder e o mongoengine.
pip install flask-appbuilder pip install mongoengine pip install flask_mongoengineCrie um aplicativo de esqueleto com os valores mostrados como comentários no fragmento de código abaixo.
flask fab create-app # Give the following values in the command line questionnaire # Application Name: flaskTutorialApp # EngineType : MongoEngineVeremos uma saída semelhante à fornecida abaixo.
Your new app name: exampleApp Your engine type, SQLAlchemy or MongoEngine (SQLAlchemy, MongoEngine) (SQLAlchemy): MongoEngine Downloaded the skeleton app, good coding!Dê uma olhada no layout do projeto e no aplicativo. Mostramos a saída do comando tree abaixo.

Vamos dar uma olhada no arquivo de configuração do Flask. É uma configuração padrão gerada como resultado do último comando. Descomente Cyborg tema, conforme mostrado abaixo.
# Theme configuration for Cybord=g # these themes are located on static/appbuilder/css/themes # We can create our own and easily use them by placing them on the same dir structure to override #APP_THEME = 'bootstrap-theme.css' # default bootstrap #APP_THEME = 'cerulean.css' # cerulean #APP_THEME = 'amelia.css' # amelia theme #APP_THEME = 'cosmo.css' # cosmo theme APP_THEME = 'cyborg.css' # cyborg theme #APP_THEME = 'flatly.css' # flatly themePara executar o aplicativo esqueleto, use o comando fornecido abaixo no terminal.
flask runFlask Hello World
Para criar seu primeiro programa no flaskTutorialApp, abra o arquivo views.py no diretório do aplicativo e adicione o código a seguir. Procure as instruções de importação fornecidas no arquivo. Adicione essas declarações se ainda não estiverem presentes.
from flask_appbuilder import BaseView, expose from app import appbuilder class HelloWorld(BaseView): ''' This first view of the tutorial ''' route_base = '/hello' @expose('/') def hello(self): return 'Hello, World! from Software Testing Help' # at the end of the file appbuilder.add_view_no_menu(HelloWorld())Salve o arquivo após adicionar o código-fonte acima. Vá para o diretório raiz do projeto e use o comando abaixo para executar o servidor de desenvolvimento do Flask.
flask runAgora navegue para http: // localhost: 5000 / hello / para ver a saída no navegador.
Depurando
Atualmente, o servidor de desenvolvimento não está sendo executado no modo de depuração. Sem o modo de depuração, é difícil encontrar os erros no código-fonte do aplicativo Flask.
O modo de depuração no Flask resulta no seguinte:
- O modo de depuração ativa o recarregador automático. Isso significa que não precisamos reiniciar o servidor de desenvolvimento depois de fazer alterações no código-fonte do aplicativo.
- O modo de depuração ativa o depurador Python. Podemos inspecionar os valores das variáveis durante a Exceção.
- O modo de depuração permite a depuração do aplicativo Flask. Podemos verificar os valores de várias variáveis nas sessões de depuração.
Pare o servidor de desenvolvimento se ele já estiver em execução. Você pode usar CTRL + C ou interrupção do teclado para fazer o mesmo.
Use o código a seguir para ativar o modo de depuração e executar o servidor de desenvolvimento temporariamente.
FLASK_ENV=development flask runProcure no console o PIN do depurador e anote-o.
Agora vamos mudar a visualização HelloWorld escrita acima com as seguintes linhas do trecho de código. Observe que introduzimos uma exceção personalizada.
@expose('/') def hello(self): raise Exception('A custom exception to learn DEBUG Mode') return 'Hello, World! from Software Testing Help'Navegue para http: // localhost: 5000 / hello /, e você verá que o aplicativo gerou uma exceção. O navegador exibe o rastreamento de pilha, conforme mostrado abaixo.

Além disso, observe o console onde o servidor de desenvolvimento está sendo executado. Você descobrirá que, desta vez, as alterações em views.py são detectadas automaticamente e o servidor de depuração é reiniciado sozinho. Agora não precisamos reiniciá-lo manualmente.
O console terá linhas, conforme mostrado abaixo. Precisamos anotar o PIN de depuração para mais tarde.
* Detected change in 'https://cdn.softwaretestinghelp.com/work/sth/flaskTutorialApp/app/views.py', reloading 2020-06-02 14:59:49,354:INFO:werkzeug: * Detected change in 'https://cdn.softwaretestinghelp.com/work/sth/flaskTutorialApp/app/views.py', reloading * Restarting with stat 2020-06-02 14:59:49,592:INFO:werkzeug: * Restarting with stat * Debugger is active! * Debugger PIN: 150-849-897 Agora verifique o rastreamento de pilha no navegador e vá para a última linha. Clique nele para expandir sua visualização e clique no ícone CLI para abrir o shell no modo interativo.

Depois de abri-lo, você verá que o navegador mostrará um prompt para Debug PIN. Dê o PIN de depuração e clique em OK.

Assim que prosseguirmos após fornecer o PIN de depuração, podemos acessar o shell interativo.
converter caractere para string c ++
Acessamos o shell de dentro do navegador e podemos inspecionar os valores das variáveis para encontrar a causa da Exceção e tratar o erro de uma maneira melhor. Por favor, olhe para um dos exemplos mostrados na imagem abaixo.

Agora altere o código em view.py, conforme mostrado abaixo. Observe que comentamos sobre a linha que apresentou a exceção levantada.
@expose('/') def hello(self): # raise Exception('A custom exception to learn DEBUG Mode') return 'Hello, World! from Software Testing Help'Testando o aplicativo Flask
Agora vamos escrever nosso primeiro teste para o aplicativo Flask que estamos desenvolvendo. Primeiro, instale o PyTest. PyTest é uma estrutura de teste. Isso nos ajuda a escrever um código melhor.
Além disso, só porque podemos escrever testes de unidade enquanto desenvolvemos nossos aplicativos, é possível seguir a abordagem TDD. TDD significa Desenvolvimento Orientado a Testes. Em nossos tutoriais subsequentes desta série, sempre devemos escrever testes primeiro e desenvolver nossas visualizações ou modelos.
Instale PyTest
pip install pytestAgora crie um diretório chamado tests dentro do diretório do app e nele crie um arquivo chamado test_hello.py. Vamos escrever nosso primeiro teste de unidade para testar nossa visão.
Copie o seguinte snippet de código e cole-o em test_hello.py.
#!/usr/bin/env python from app import appbuilder import pytest @pytest.fixture def client(): ''' A pytest fixture for test client ''' appbuilder.app.config('TESTING') = True with appbuilder.app.test_client() as client: yield client def test_hello(client): ''' A test method to test view hello ''' resp = client.get('/hello', follow_redirects=True) assert 200 == resp.status_codeUse o comando pytest abaixo para executar os testes. O PyTest coleta automaticamente os testes e exibe os resultados na saída padrão.

Crie um fluxo de trabalho GitHub
Usamos Git Actions para criar um fluxo de trabalho de CI / CD para nosso aplicativo de amostra. Siga as etapas mencionadas abaixo para o seu projeto.
Etapa 1: navegue até a página do repositório no GitHub. Clique em Ações do Git.

Etapa 2: role para baixo na página e encontre um modelo de fluxo de trabalho existente para um pacote Python.

Etapa 3: configurar o fluxo de trabalho do pacote Python.

Etapa 4: depois que a configuração do fluxo de trabalho python-package.yml for aberta, atualize-a com base nos valores de tag adicionais yaml fornecidos.
name: flaskTutorialApp jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: (3.7, 3.8) mongodb-version: (4.2) steps: - name: Start MongoDB uses: supercharge/mongodb-github-action@1.3.0 with: mongodb-version: ${{ matrix.mongodb-version }} # other valuesQueremos testar nosso aplicativo Flask na última distribuição Ubuntu Linux. Além do sistema operacional, queremos executar nossos testes apenas usando Python 3.7 e Python 3.8.
Etapa 5: comprometa o python-package.yml com os valores atualizados.

Etapa 6: o commit da página anterior nos leva aos trabalhos do GitActions.

Etapa 7: (Opcional)
Na página Github Jobs para o aplicativo tutorial de amostra, podemos criar um emblema e colocá-lo no arquivo README.md para exibir o status da compilação.
Agora, sempre que as alterações forem enviadas para o branch master, o Git Workflow, conforme escrito em python-package.yml, será seguido e executado nas Ações Git.
Conclusão
Neste tutorial, cobrimos todos os conceitos básicos, desde os pré-requisitos até a configuração do fluxo de trabalho de CI / CD para um aplicativo da web desenvolvido usando Flask - uma estrutura de desenvolvimento da web baseada em Python.
Este tutorial cobre todas as etapas necessárias, como instalação do Python, download e instalação do Flask, trabalho com o Flask-Appbuilder, teste do PyTest, etc. para iniciar o desenvolvimento web usando Python. A comunidade de desenvolvimento da web geralmente compara o Flask com outra estrutura popular de desenvolvimento da web Python chamada Django.
Explicaremos essas diferenças e também compararemos essas estruturas em um dos tutoriais desta série.
Leitura recomendada
- Django Vs Flask Vs Node: Qual Framework Selecionar
- Tutorial de API do Flask com exemplo | Estendendo Flask com APIs
- Flask App e layout de projeto de Flask com Blueprint e Bootstrap
- Manuseio do banco de dados Flask - como usar o Flask com um banco de dados
- Padrões de design e práticas recomendadas para aplicativos da Web
- Modelo, formulário, visualização e redirecionamento de frasco com exemplos
- As 31 principais perguntas populares da entrevista em Python Flask com respostas
- Tutorial de Python para iniciantes (treinamento prático e gratuito em Python)