{"id":66444,"date":"2024-01-16T14:41:19","date_gmt":"2024-01-16T17:41:19","guid":{"rendered":"https:\/\/kinsta.com\/pt\/?p=66444&#038;preview=true&#038;preview_id=66444"},"modified":"2024-01-22T14:55:48","modified_gmt":"2024-01-22T17:55:48","slug":"aplicativo-python-flask","status":"publish","type":"post","link":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/","title":{"rendered":"Crie e Implante um Aplicativo Python Rapidamente com Flask e Kinsta"},"content":{"rendered":"<p><a href=\"https:\/\/kinsta.com\/pt\/topicos\/python\/\">Python<\/a> \u00e9 uma das <a href=\"https:\/\/kinsta.com\/pt\/topicos\/linguagens-desenvolvimento-web\/\">linguagens de desenvolvimento<\/a> mais populares. Sua sintaxe simples e as baixas barreiras de entrada tornam uma excelente escolha para programadores iniciantes que desejam se destacar no cen\u00e1rio de desenvolvimento de software.<\/p>\n<p>V\u00e1rios frameworks e bibliotecas facilitam configurar e executar um aplicativo Python. Entre eles est\u00e3o <a href=\"https:\/\/docs.sevalla.com\/templates\/overviewpython-examples#django\">Django<\/a>, <a href=\"https:\/\/kinsta.com\/pt\/blog\/fastapi\/\">FastAPI<\/a> e <a href=\"https:\/\/kinsta.com\/pt\/blog\/flask-vs-django\/#what-is-flask\">Flask<\/a>. O framework Flask atrai desenvolvedores Python por oferecer suporte \u00e0 prototipagem f\u00e1cil e personaliza\u00e7\u00e3o.<\/p>\n<p>Este artigo pr\u00e1tico demonstra como voc\u00ea pode desenvolver um aplicativo Python simples conectado a um banco de dados usando o Flask.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Aplicativos Python simplificado com Flask<\/h2>\n<p>Desenvolvido em 2010, <a href=\"https:\/\/flask.palletsprojects.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Flask<\/a> \u00e9 muito adequado para o desenvolvimento de aplicativos web em Python gra\u00e7as \u00e0 sua facilidade de uso e flexibilidade. Sua arquitetura enxuta concentra-se em fornecer o b\u00e1sico, facilitando a adi\u00e7\u00e3o de bibliotecas para as funcionalidades necess\u00e1rias. Essa abordagem torna o Flask ideal para v\u00e1rios projetos, desde aplicativos simples at\u00e9 sistemas complexos.<\/p>\n<p>O Flask oferece v\u00e1rias ferramentas e recursos para dar suporte ao desenvolvimento de aplicativos web, incluindo:<\/p>\n<ul>\n<li>Bibliotecas e ferramentas para gerenciar solicita\u00e7\u00f5es e respostas HTTP<\/li>\n<li>A capacidade de rotear solicita\u00e7\u00f5es para fun\u00e7\u00f5es designadas<\/li>\n<li>Suporte para templates de renderiza\u00e7\u00e3o<\/li>\n<li>Suporte para bancos de dados<\/li>\n<li>Sistemas de autentica\u00e7\u00e3o e autoriza\u00e7\u00e3o<\/li>\n<\/ul>\n<h2>Como criar seu aplicativo Python com Flask<\/h2>\n<p>Voc\u00ea pode explorar os benef\u00edcios do uso do Flask para o desenvolvimento de aplicativos web <a href=\"https:\/\/kinsta.com\/pt\/blog\/tutoriais-python\/\">criando um aplicativo Python<\/a> usando o Flask. Em seguida, voc\u00ea pode criar e implantar o aplicativo usando o servi\u00e7o de <a href=\"https:\/\/sevalla.com\/application-hosting\/\">hospedagem de aplicativos web<\/a> da Kinsta e conect\u00e1-lo a um <a href=\"https:\/\/sevalla.com\/database-hosting\/\">banco de dados<\/a> na plataforma Kinsta.<\/p>\n<h3>Pr\u00e9-requisitos do aplicativo Python Flask<\/h3>\n<p>Para seguir este tutorial, voc\u00ea precisar\u00e1 de:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.python.org\/downloads\/\" target=\"_blank\" rel=\"noopener noreferrer\">Python<\/a> vers\u00e3o 3 ou superior<\/li>\n<li><a href=\"https:\/\/dev.mysql.com\/downloads\/installer\/\" target=\"_blank\" rel=\"noopener noreferrer\">MySQL Workbench<\/a><\/li>\n<li>Pacotes <a href=\"https:\/\/pip.pypa.io\/en\/stable\/installation\/\" target=\"_blank\" rel=\"noopener noreferrer\">pip<\/a> e <a href=\"https:\/\/packaging.python.org\/en\/latest\/guides\/installing-using-pip-and-virtual-environments\/#installing-virtualenv\" target=\"_blank\" rel=\"noopener noreferrer\">virtualenv<\/a> do Python instalados<\/li>\n<li>Um editor de c\u00f3digo<\/li>\n<li>Uma conta no <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/bitbucket#grant-access-to-the-kinsta-bitbucket-application\">Bitbucket<\/a>, <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/github#authenticate-and-authorize\">GitHub<\/a> ou <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/gitlab#authorize-the-kinsta-gitlab-application\">GitLab<\/a> para hospedar seu reposit\u00f3rio Git<\/li>\n<li>Uma <a href=\"https:\/\/kinsta.com\/pt\/inscreva-se\/?product_type=app-db\">conta MyKinsta<\/a> (inscri\u00e7\u00e3o gratuita) para servir o aplicativo<\/li>\n<\/ul>\n<h3>Instale o Flask para Python<\/h3>\n<p>V\u00e1 para o terminal (Linux ou macOS) ou para o prompt de comando (Windows). Comece criando um diret\u00f3rio chamado <strong>flask_demo<\/strong>.<\/p>\n<p>Mude para o novo diret\u00f3rio e crie um ambiente virtual Python usando o comando <code>python3 -m venv venv<\/code>. Nesse caso, tamb\u00e9m estamos usando <strong>venv<\/strong> como o nome do diret\u00f3rio que dar\u00e1 suporte ao ambiente virtual.<\/p>\n<p>Ative o ambiente virtual usando um destes comandos:<\/p>\n<ul>\n<li><code>venvScriptsactivate<\/code> no Windows<\/li>\n<li><code>source venv\/bin\/activate<\/code> no Linux ou no macOS<\/li>\n<\/ul>\n<p>Agora, instale o Flask usando o <strong>pip<\/strong>, executando <code>pip install flask<\/code>.<\/p>\n<p>O trabalho que voc\u00ea fez no terminal at\u00e9 agora deve ser parecido com o seguinte:<\/p>\n<figure id=\"attachment_172621\" aria-describedby=\"caption-attachment-172621\" style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/python-virtual-environment-installing-flask.png\" alt=\"Terminal output during creation of a Python virtual environment and installing Flask.\" width=\"960\" height=\"556\"><figcaption id=\"caption-attachment-172621\" class=\"wp-caption-text\">Criando a base de um aplicativo Python Flask no terminal.<\/figcaption><\/figure>\n<h3>Crie um aplicativo base<\/h3>\n<p>Em seguida, crie o aplicativo b\u00e1sico e analise sua funcionalidade renderizando conte\u00fado para o navegador.<\/p>\n<p>No diret\u00f3rio <strong>flask_demo<\/strong>, crie um arquivo chamado <strong>demo.py<\/strong> e adicione o seguinte c\u00f3digo:<\/p>\n<pre><code class=\"language-python\">from flask import Flask\n\napp = Flask(__name__)\n\n# Routes\n@app.route('\/')\ndef index():\n    return \"Happy Coding!\"\n\nif __name__ == '__main__':\n    app.run(debug=True)<\/code><\/pre>\n<p>Esse c\u00f3digo importa o Flask do m\u00f3dulo <code>flask<\/code> e cria uma inst\u00e2ncia dele chamada <code>app<\/code>. Em seguida, o c\u00f3digo cria uma rota que retorna o texto que exibe &#8220;Happy Coding!&#8221; quando os usu\u00e1rios visitam o aplicativo em um navegador. Por fim, ele executa o servidor de desenvolvimento quando o script \u00e9 iniciado.<\/p>\n<p>Inicie o aplicativo executando <code>flask --app demo run<\/code> no terminal. O sinalizador <code>--app<\/code> especifica o local do aplicativo que ser\u00e1 executado &#8211; aqui, o arquivo <strong>demo.py<\/strong>.<\/p>\n<h3>Como adicionar templates ao seu aplicativo Python Flask<\/h3>\n<p>Ao adicionar templates ao seu aplicativo, voc\u00ea estar\u00e1 refor\u00e7ando o conte\u00fado. Primeiro, crie um diret\u00f3rio chamado <strong>templates<\/strong> na raiz do seu aplicativo. Em seguida, v\u00e1 para o diret\u00f3rio de <strong>templates<\/strong> e crie um arquivo chamado <strong>index.html<\/strong> que contenha o seguinte c\u00f3digo HTML:<\/p>\n<pre><code class=\"language-html\">&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n    &lt;meta charset=\"UTF-8\"&gt;\n    &lt;meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n    &lt;title&gt;HomePage&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;h3&gt;Flask Demo Application&lt;\/h3&gt;\n    &lt;p&gt;My name is John Doe - learning about Application Deployment!&lt;\/p&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<p>Em <strong>demo.py<\/strong>, importe <strong>render_template<\/strong> do m\u00f3dulo do flask e renderize o template <strong>index.html<\/strong> na fun\u00e7\u00e3o route desta forma:<\/p>\n<pre><code class=\"language-python\">from flask import Flask, <strong>render_template<\/strong>\n\napp = Flask(__name__)\n\n# Routes\n@app.route('\/')\ndef index():\n    return render_template('index.html')\n\nif __name__ == '__main__':\n    app.run(debug=True)<\/code><\/pre>\n<p>Em seguida, sirva seu aplicativo executando <code>flask --app demo run<\/code> em seu ambiente local. Use o endere\u00e7o local informado no terminal para iniciar o aplicativo em seu navegador. Voc\u00ea dever\u00e1 ver algo parecido com isso:<\/p>\n<figure id=\"attachment_172613\" aria-describedby=\"caption-attachment-172613\" style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/python-flask-basic-application-in-browser.png\" alt=\"Screenshot of a web browser displaying the initial stage of the Flask application.\" width=\"960\" height=\"441\"><figcaption id=\"caption-attachment-172613\" class=\"wp-caption-text\">O in\u00edcio de um aplicativo Python Flask em um navegador web.<\/figcaption><\/figure>\n<h3>Como conectar seu aplicativo Flask a um banco de dados local<\/h3>\n<p>Voc\u00ea criar\u00e1 uma conex\u00e3o com um banco de dados local &#8211; MySQL &#8211; que armazena o conte\u00fado do aplicativo.<\/p>\n<p>Para conectar seu aplicativo Flask ao MySQL, instale o seguinte:<\/p>\n<ul>\n<li><strong>flask_mysqldb<\/strong>, o conector MySQL para o Flask, usando <code>pip install flask_mysqldb<\/code><\/li>\n<li><strong>Python-dotenv<\/strong>, para leitura de vari\u00e1veis de ambiente, usando <code>pip install python-dotenv<\/code><\/li>\n<li>O conector Python MySQL, usando <code>pip install mysql-connector-python<\/code><\/li>\n<li>A depend\u00eancia do MySQL, usando <code>pip install mysqlclient<\/code><\/li>\n<\/ul>\n<p>V\u00e1 para o MySQL Workbench para criar um banco de dados. Certifique-se de que voc\u00ea adicionou um usu\u00e1rio de banco de dados com permiss\u00f5es para acessar o banco de dados e criar tabelas.<\/p>\n<p>Crie um arquivo <strong>.env<\/strong> no diret\u00f3rio raiz do seu aplicativo para manter os detalhes da conex\u00e3o do banco de dados. Voc\u00ea adicionaria as credenciais de usu\u00e1rio do banco de dados e o nome do banco de dados a esse template:<\/p>\n<pre><code class=\"language-makefile\">DB_HOST=\"localhost\"\nDB_USER=\"your-db-user\"\nDB_PASSWORD=\"your-db-password\"\nDB_NAME=\"your-db-name\"<\/code><\/pre>\n<p>Em um script <strong>demo.py<\/strong> revisado, agora importaremos o conector MySQL e usaremos <strong>o Python-dotenv<\/strong> para ler as chaves da vari\u00e1vel de ambiente no arquivo <strong>.env<\/strong>. Esse novo script <strong>demo.py<\/strong> tamb\u00e9m verifica a exist\u00eancia de uma tabela chamada <strong>persons<\/strong> no banco de dados e a criar\u00e1 e preencher\u00e1 se ela n\u00e3o existir.<\/p>\n<pre><code class=\"language-python\">import os\nfrom flask import Flask, render_template\nfrom flask_mysqldb import MySQL\n\nfrom dotenv import load_dotenv\nload_dotenv()\n\napp = Flask(__name__)\n\napp.config['MYSQL_HOST'] = os.getenv(\"DB_HOST\")\napp.config['MYSQL_USER'] = os.getenv(\"DB_USER\")\napp.config['MYSQL_PASSWORD'] = os.getenv(\"DB_PASSWORD\")\napp.config['MYSQL_DB'] = os.getenv(\"DB_NAME\")\n\nmysql = MySQL(app)\n\n@app.route('\/')\ndef index():\n    cursor = mysql.connection.cursor()\n\n    cursor.execute(\"SHOW TABLES LIKE 'persons'\")\n    result = cursor.fetchone()\n\n    if not result:\n        cursor.execute(''' CREATE TABLE persons (id INTEGER, firstname VARCHAR(20), lastname VARCHAR(20)) ''')\n        cursor.execute(''' INSERT INTO persons VALUES(1, 'John', 'Doe') ''')\n        cursor.execute(''' INSERT INTO persons VALUES(2, 'Milly', 'Winfrerey') ''')\n        mysql.connection.commit()\n\n    cursor.execute('SELECT * FROM persons')\n    entry = cursor.fetchall()\n    cursor.close()\n    return render_template('index.html', entry=entry)<\/code><\/pre>\n<p>Depois de instanciar o Flask, o c\u00f3digo acima usa vari\u00e1veis de ambiente para capturar os atributos do banco de dados do arquivo <strong>.env<\/strong> na raiz do seu aplicativo.<\/p>\n<p>Em seguida, o c\u00f3digo instancia o MySQL e o associa ao Flask. Ele cria um objeto de cursor na rota <code>index<\/code>. Em seguida, o c\u00f3digo verifica se h\u00e1 uma tabela chamada <strong>persons<\/strong> no banco de dados. Se ela n\u00e3o for encontrada, ele a cria com os atributos <code>id<\/code>, <code>firstname<\/code> e <code>lastname<\/code> e insere duas linhas de dados.<\/p>\n<p>As pr\u00f3ximas tr\u00eas linhas executam um comando SQL para selecionar todas as linhas da tabela <strong>persons<\/strong> e buscar os resultados. O objeto cursor \u00e9 fechado e os resultados da consulta s\u00e3o passados como a vari\u00e1vel de contexto <code>entry<\/code> para renderiza\u00e7\u00e3o com o template.<\/p>\n<p>Aqui est\u00e1 um arquivo template <strong>index.html<\/strong> revisado, capaz de processar os resultados obtidos atrav\u00e9s de consultas ao banco de dados:<\/p>\n<pre><code class=\"language-html\">&lt;!DOCTYPE html&gt;&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n    &lt;meta charset=\"UTF-8\"&gt;\n    &lt;meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n    &lt;title&gt;HomePage&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;h3&gt;Flask Demo Application&lt;\/h3&gt;\n    {% for e in entry %}\n        &lt;p&gt;My name is {{e[1]}} {{e[2]}} - learning about Application Deployment!&lt;\/p&gt;\n    {% endfor %}\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<p>Execute o aplicativo e, em seguida, retorne ao MySQL Workbench para verificar os dados. Voc\u00ea deve se parecer com o seguinte:<\/p>\n<figure id=\"attachment_172614\" aria-describedby=\"caption-attachment-172614\" style=\"width: 900px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/flask-application-data-queried-in-mysql-workbench.png\" alt=\"Screenshot of query results in MySQL Workbench.\" width=\"900\" height=\"172\"><figcaption id=\"caption-attachment-172614\" class=\"wp-caption-text\">Resultados da consulta para a tabela <strong>persons<\/strong>\u00a0no MySQL Workbench.<\/figcaption><\/figure>\n<p>Quando voc\u00ea consulta a tabela, as duas entradas geradas pelo aplicativo s\u00e3o retornadas. Agora, seu aplicativo renderiza o seguinte conte\u00fado derivado do banco de dados no navegador:<\/p>\n<figure id=\"attachment_172615\" aria-describedby=\"caption-attachment-172615\" style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-172615\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/python-flask-database-application-in-browser.png\" alt=\"Screenshot showing content generated from the database.\" width=\"960\" height=\"441\"><figcaption id=\"caption-attachment-172615\" class=\"wp-caption-text\">Conte\u00fado gerado pelo banco de dados no navegador.<\/figcaption><\/figure>\n<h2>Como implantar seu aplicativo Python Flask na Kinsta<\/h2>\n<p>Agora que seu aplicativo est\u00e1 em funcionamento localmente, voc\u00ea pode torn\u00e1-lo vis\u00edvel para o mundo hospedando na Kinsta. Voc\u00ea pode combinar os servi\u00e7os de <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Hospedagem de Aplicativos Web<\/a> e <a href=\"https:\/\/sevalla.com\/database-hosting\/\">Hospedagem de Banco de Dados Gerenciado<\/a> da Kinsta para dar vida a esse aplicativo na nuvem. E voc\u00ea pode <a href=\"https:\/\/kinsta.com\/pt\/inscreva-se\/?product_type=app-db\">experimentar os dois gratuitamente<\/a>.<\/p>\n<h3>Preparando seu projeto Python para implanta\u00e7\u00e3o<\/h3>\n<p>A plataforma de Hospedagem de Aplicativos Web da Kinsta implanta seu c\u00f3digo a partir do seu provedor Git favorito. Seu pr\u00f3ximo passo \u00e9 configurar o ambiente do seu aplicativo para suportar esse caminho e permitir que a Kinsta implemente seu aplicativo com todas as depend\u00eancias necess\u00e1rias.<\/p>\n<p>Comece criando um novo diret\u00f3rio na raiz do projeto <strong>flask_demo<\/strong>. Vamos cham\u00e1-lo de <strong>myapp.<\/strong> Em seguida, mova o diret\u00f3rio de <strong>templates<\/strong> e o arquivo <strong>demo.py<\/strong> para <strong>myapp<\/strong>.<\/p>\n<p>Dentro do diret\u00f3rio <strong>myapp<\/strong>, crie um arquivo <strong>wsgi.py<\/strong> com o seguinte conte\u00fado:<\/p>\n<pre><code class=\"language-python\">from myapp.demo import app as application\n\nif __name__ == \"__main__\":\n    application.run(debug=True)<\/code><\/pre>\n<p>O processo de build na Kinsta tamb\u00e9m usar\u00e1 o <strong>pip<\/strong> para gerar seu aplicativo. Voc\u00ea pode passar uma lista das depend\u00eancias do seu aplicativo para o <strong>pip<\/strong> no lado da produ\u00e7\u00e3o usando um arquivo <strong>requirements.txt<\/strong> no diret\u00f3rio raiz do projeto.<\/p>\n<p>Enquanto ainda estiver trabalhando no ambiente virtual <strong>venv<\/strong> e dentro do diret\u00f3rio raiz do <strong>flask_demo<\/strong>, voc\u00ea pode gerar um arquivo <strong>requirements.txt<\/strong> espec\u00edfico para o seu projeto com o seguinte comando:<\/p>\n<pre><code class=\"language-bash\">pip freeze &gt; requirements.txt<\/code><\/pre>\n<p>O conte\u00fado do arquivo de texto resultante ser\u00e1 parecido com o seguinte:<\/p>\n<pre><code class=\"language-makefile\">blinker==1.7.0\nclick==8.1.7\nFlask==3.0.0\nFlask-MySQLdb==2.0.0\nitsdangerous==2.1.2\nJinja2==3.1.2\nMarkupSafe==2.1.3\nmysql-connector-python==8.2.0\nmysqlclient==2.2.1\nprotobuf==4.21.12\npython-dotenv==1.0.0\nWerkzeug==3.0.1<\/code><\/pre>\n<p>Voc\u00ea n\u00e3o enviar\u00e1 o arquivo <strong>.env<\/strong> com os segredos do banco de dados para o servidor de produ\u00e7\u00e3o. Como voc\u00ea n\u00e3o precisar\u00e1 da biblioteca <code>python-dotenv<\/code> para ler o<strong> .env<\/strong> na produ\u00e7\u00e3o, poder\u00e1 remover sua refer\u00eancia do <strong>requirements.txt<\/strong> e remover (ou comentar) essas linhas no <strong>demo.py<\/strong>:<\/p>\n<pre><code class=\"language-python\">from dotenv import load_dotenv\nload_dotenv()<\/code><\/pre>\n<h4>Adicione um servidor HTTP Python WSGI ao projeto<\/h4>\n<p>Uma coisa que falta nos requisitos acima \u00e9 uma maneira de servir o aplicativo via HTTP em um ambiente de produ\u00e7\u00e3o. O servidor de desenvolvimento usado em sua m\u00e1quina local n\u00e3o ser\u00e1 suficiente. Para este projeto, voc\u00ea usar\u00e1 o pacote <a href=\"https:\/\/gunicorn.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Gunicorn<\/a> da Web Server Gateway Interface (WSGI) entre o aplicativo e os servidores web <a href=\"https:\/\/kinsta.com\/pt\/blog\/o-que-e-nginx\/\">Nginx<\/a> da Kinsta.<\/p>\n<p>Voc\u00ea pode adicionar um requisito do Gunicorn ao seu projeto instalando em seu ambiente virtual desta forma:<\/p>\n<pre><code class=\"language-bash\">pip install gunicorn<\/code><\/pre>\n<p>Depois que o Gunicorn for instalado, use o <strong>pip<\/strong> para gerar o <strong>requirements.txt<\/strong> novamente.<\/p>\n<p>Uma alternativa para instalar o Gunicorn localmente \u00e9 editar o <strong>requirements.txt<\/strong> e simplesmente adicionar uma entrada como esta:<\/p>\n<pre><code class=\"language-makefile\">gunicorn==21.2.0<\/code><\/pre>\n<p>Para concluir o trabalho de base para o servidor WSGI, crie um arquivo no diret\u00f3rio raiz do projeto chamado <strong>Procfile<\/strong> e adicione a seguinte linha:<\/p>\n<pre><code class=\"language-makefile\">web: gunicorn myapp.wsgi<\/code><\/pre>\n<p>Essa ser\u00e1 a base do comando start do seu aplicativo em produ\u00e7\u00e3o.<\/p>\n<h4>Preparando seu projeto para o Git<\/h4>\n<p>A estrutura de diret\u00f3rios revisada est\u00e1 pronta para ser implantada na Kinsta, mas voc\u00ea n\u00e3o quer que todos esses arquivos entrem em produ\u00e7\u00e3o. Crie um arquivo <strong>.gitignore<\/strong> na raiz do projeto com conte\u00fado como este:<\/p>\n<pre><code class=\"language-makefile\">\/venv\n.env<\/code><\/pre>\n<p>Isso evitar\u00e1 que os arquivos no diret\u00f3rio <strong>venv<\/strong> e os segredos do banco de dados local em <strong>.env<\/strong> sejam carregados no provedor Git.<\/p>\n<p>Agora voc\u00ea pode iniciar seu ambiente Git local e enviar o c\u00f3digo para o provedor Git usando as ferramentas de sua prefer\u00eancia.<\/p>\n<h3>Implante seu aplicativo Python Flask na Kinsta<\/h3>\n<p>Fa\u00e7a login no seu painel MyKinsta e certifique-se de que voc\u00ea autorizou a Kinsta para acessar seu <a href=\"https:\/\/docs.sevalla.com\/applications\/overviewapplication-getting-started#git-service-providers\">provedor de servi\u00e7os Git<\/a>. Siga as etapas para <a href=\"https:\/\/docs.sevalla.com\/applications\/get-started\/add-an-applicationadd-an-application\">adicionar um aplicativo<\/a>, selecionando o reposit\u00f3rio e a branch no provedor Git onde a Kinsta encontrar\u00e1 esse c\u00f3digo de projeto Flask.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Voc\u00ea escolher\u00e1 entre um dos muitos centros de dados dispon\u00edveis em todo o mundo para a hospedagem de aplicativos na Kinsta. Anote sua sele\u00e7\u00e3o, pois voc\u00ea desejar\u00e1 usar o mesmo centro ao criar seu banco de dados.<\/p>\n<\/aside>\n\n<p>Ao configurar o ambiente de build, selecione <strong>Usar Buildpacks para configurar a imagem do cont\u00eainer<\/strong>, mas deixe todas as outras configura\u00e7\u00f5es como padr\u00e3o. (Voc\u00ea n\u00e3o fornecer\u00e1 um <strong>comando start<\/strong> porque j\u00e1 vem definido em seu <strong>Procfile<\/strong>)<\/p>\n<figure id=\"attachment_172622\" aria-describedby=\"caption-attachment-172622\" style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/python-flask-application-mykinsta-build-environment.png\" alt=\"Screenshot of the MyKinsta interface for configuring a build environment.\" width=\"960\" height=\"856\"><figcaption id=\"caption-attachment-172622\" class=\"wp-caption-text\">Escolhendo Buildpacks para configurar a imagem do cont\u00eainer para o aplicativo.<\/figcaption><\/figure>\n<p>Depois de revisar as informa\u00e7\u00f5es de cobran\u00e7a (voc\u00ea ainda pode come\u00e7ar gratuitamente!), clique no bot\u00e3o <strong>Implantar agora <\/strong>e observe o progresso no visualizador de registros:<\/p>\n<figure id=\"attachment_172616\" aria-describedby=\"caption-attachment-172616\" style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/python-flask-application-mykinsta-deployment-progress.png\" alt=\"Screenshot of the log entries for a Python Flask app deployment.\" width=\"960\" height=\"617\"><figcaption id=\"caption-attachment-172616\" class=\"wp-caption-text\">Entradas de registro para a implanta\u00e7\u00e3o do seu aplicativo Python Flask.<\/figcaption><\/figure>\n<h3>Adicionando um banco de dados para o seu aplicativo Python Flask<\/h3>\n<p>A Kinsta tem quatro op\u00e7\u00f5es de bancos de dados gerenciados para atender \u00e0s suas necessidades e requisitos de aplicativos: Redis, PostgreSQL, MariaDB e MySQL. Para este tutorial, estamos construindo para o servi\u00e7o de banco de dados MySQL.<\/p>\n<p>Siga as instru\u00e7\u00f5es oficiais para <a href=\"https:\/\/docs.sevalla.com\/databases\/get-started\/add-a-database\">adicionar um banco de dados<\/a>, lembrando-se de selecionar o mesmo centro de dados que voc\u00ea escolheu para o seu aplicativo Flask.<\/p>\n<p>Depois de criar o banco de dados, selecione na lista de servidores de banco de dados dispon\u00edveis e role para baixo at\u00e9 a se\u00e7\u00e3o <strong>Conex\u00f5es internas<\/strong> \/ <strong>Aplicativos permitidos<\/strong> da aba <strong>Vis\u00e3o geral<\/strong>. Quando voc\u00ea clicar no bot\u00e3o <strong>Adicionar conex\u00e3o<\/strong>, o servi\u00e7o do aplicativo Flask no mesmo centro de dados estar\u00e1 dispon\u00edvel para sele\u00e7\u00e3o:<\/p>\n<figure id=\"attachment_172617\" aria-describedby=\"caption-attachment-172617\" style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/python-flask-application-mykinsta-database-add-connection.png\" alt=\"Screenshot of the dialog for adding an internal database connection in MyKinsta.\" width=\"960\" height=\"466\"><figcaption id=\"caption-attachment-172617\" class=\"wp-caption-text\">Adicionando uma conex\u00e3o interna a um aplicativo depois de criar um banco de dados.<\/figcaption><\/figure>\n<p>Clique na caixa de sele\u00e7\u00e3o <strong>Adicionar vari\u00e1veis de ambiente ao aplicativo<\/strong> antes de criar a nova conex\u00e3o. Isso exibe as vari\u00e1veis de ambiente que conter\u00e3o os segredos do seu banco de dados &#8211; tudo tratado com seguran\u00e7a sem a necessidade do arquivo <strong>.env<\/strong>.<\/p>\n<figure id=\"attachment_172618\" aria-describedby=\"caption-attachment-172618\" style=\"width: 959px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/python-flask-application-mykinsta-database-add-variables.png\" alt=\"Screenshot of the dialog for adding environment variables for database credentials.\" width=\"959\" height=\"854\"><figcaption id=\"caption-attachment-172618\" class=\"wp-caption-text\">Adicionando vari\u00e1veis de ambiente para uma conex\u00e3o interna ao seu banco de dados.<\/figcaption><\/figure>\n<p>Na parte inferior da caixa de di\u00e1logo acima, as configura\u00e7\u00f5es <strong>Dispon\u00edvel durante o tempo de execu\u00e7\u00e3o<\/strong> e<strong> Dispon\u00edvel durante o processo de build<\/strong> ser\u00e3o ativadas por padr\u00e3o &#8211; e \u00e9 exatamente isso que voc\u00ea deseja.<\/p>\n<p>Depois que voc\u00ea finalmente clicar no bot\u00e3o <strong>Adicionar conex\u00e3o<\/strong>, as vari\u00e1veis de ambiente necess\u00e1rias para o acesso ao banco de dados ser\u00e3o aplicadas \u00e0s <strong>Configura\u00e7\u00f5es<\/strong> do seu projeto no painel <strong>Aplicativos<\/strong> do MyKinsta:<\/p>\n<figure id=\"attachment_172619\" aria-describedby=\"caption-attachment-172619\" style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/python-flask-application-mykinsta-environment-variables.png\" alt=\"Screenshot of a MyKinsta dialog showing environment variables passed from the database to an application.\" width=\"960\" height=\"382\"><figcaption id=\"caption-attachment-172619\" class=\"wp-caption-text\">Vari\u00e1veis de ambiente do banco de dados passadas para o aplicativo Python Flask.<\/figcaption><\/figure>\n<p>Agora, mesmo quando voc\u00ea reconstruir seu aplicativo ap\u00f3s aprimoramentos futuros, os detalhes da conex\u00e3o com o banco de dados permanecer\u00e3o.<\/p>\n<figure id=\"attachment_172620\" aria-describedby=\"caption-attachment-172620\" style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/python-flask-application-live-on-kinsta-platform.png\" alt=\"Screenshot of the Python Flask application live on the Kinsta platform.\" width=\"960\" height=\"441\"><figcaption id=\"caption-attachment-172620\" class=\"wp-caption-text\">O aplicativo Python Flask est\u00e1 ativo na plataforma Kinsta.<\/figcaption><\/figure>\n<p>Parab\u00e9ns! Voc\u00ea acabou de criar um aplicativo Python Flask e implant\u00e1-lo na plataforma Kinsta.<\/p>\n<h2>Resumo<\/h2>\n<p>A framework personaliz\u00e1vel do Flask torna a cria\u00e7\u00e3o de um aplicativo Python muito mais simples. Usar a Kinsta para implantar um aplicativo Flask torna as coisas ainda mais f\u00e1ceis, acelerando o desenvolvimento e a implanta\u00e7\u00e3o de aplicativos.<\/p>\n<p>Aqui, aprendemos como criar um aplicativo simples conectado a um banco de dados em um ambiente de desenvolvimento local e, em seguida, disponibiliz\u00e1-lo para o resto do mundo nas plataformas de <a href=\"https:\/\/kinsta.com\/docs\/application-hosting\">hospedagem de aplicativos web<\/a> e <a href=\"https:\/\/kinsta.com\/docs\/database-hosting\">hospedagem de banco de dados<\/a> da Kinsta.<\/p>\n<p>Explore o que mais voc\u00ea pode criar em nossa plataforma navegando em nossos <a href=\"https:\/\/docs.sevalla.com\/applications\/overviewapp-quick-start\">Templates de In\u00edcio R\u00e1pido<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Python \u00e9 uma das linguagens de desenvolvimento mais populares. Sua sintaxe simples e as baixas barreiras de entrada tornam uma excelente escolha para programadores iniciantes que &#8230;<\/p>\n","protected":false},"author":259,"featured_media":66445,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1001],"class_list":["post-66444","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Crie e Implante um Aplicativo Python Rapidamente com Flask e Kinsta<\/title>\n<meta name=\"description\" content=\"Veja como implantar um aplicativo Python Flask rapidamente usando os servi\u00e7os de Hospedagem de Aplicativos e Hospedagem de Banco de Dados da Kinsta.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Crie e Implante um Aplicativo Python Rapidamente com Flask e Kinsta\" \/>\n<meta property=\"og:description\" content=\"Veja como implantar um aplicativo Python Flask rapidamente usando os servi\u00e7os de Hospedagem de Aplicativos e Hospedagem de Banco de Dados da Kinsta.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstapt\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-16T17:41:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-22T17:55:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/01\/python-flask-app.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1999\" \/>\n\t<meta property=\"og:image:height\" content=\"1000\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Steve Bonisteel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Veja como implantar um aplicativo Python Flask rapidamente usando os servi\u00e7os de Hospedagem de Aplicativos e Hospedagem de Banco de Dados da Kinsta.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/01\/python-flask-app.png\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Steve Bonisteel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/\"},\"author\":{\"name\":\"Steve Bonisteel\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\"},\"headline\":\"Crie e Implante um Aplicativo Python Rapidamente com Flask e Kinsta\",\"datePublished\":\"2024-01-16T17:41:19+00:00\",\"dateModified\":\"2024-01-22T17:55:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/\"},\"wordCount\":2400,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/01\/python-flask-app.png\",\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/\",\"name\":\"Crie e Implante um Aplicativo Python Rapidamente com Flask e Kinsta\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/01\/python-flask-app.png\",\"datePublished\":\"2024-01-16T17:41:19+00:00\",\"dateModified\":\"2024-01-22T17:55:48+00:00\",\"description\":\"Veja como implantar um aplicativo Python Flask rapidamente usando os servi\u00e7os de Hospedagem de Aplicativos e Hospedagem de Banco de Dados da Kinsta.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/01\/python-flask-app.png\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/01\/python-flask-app.png\",\"width\":1999,\"height\":1000},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python\",\"item\":\"https:\/\/kinsta.com\/pt\/topicos\/python\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Crie e Implante um Aplicativo Python Rapidamente com Flask e Kinsta\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/pt\/#website\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstapt\/\",\"https:\/\/x.com\/kinsta_pt\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\",\"name\":\"Steve Bonisteel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g\",\"caption\":\"Steve Bonisteel\"},\"description\":\"Steve Bonisteel is a Technical Editor at Kinsta who began his writing career as a print journalist, chasing ambulances and fire trucks. He has been covering Internet-related technology since the late 1990s.\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/author\/stevebonisteel\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Crie e Implante um Aplicativo Python Rapidamente com Flask e Kinsta","description":"Veja como implantar um aplicativo Python Flask rapidamente usando os servi\u00e7os de Hospedagem de Aplicativos e Hospedagem de Banco de Dados da Kinsta.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/","og_locale":"pt_PT","og_type":"article","og_title":"Crie e Implante um Aplicativo Python Rapidamente com Flask e Kinsta","og_description":"Veja como implantar um aplicativo Python Flask rapidamente usando os servi\u00e7os de Hospedagem de Aplicativos e Hospedagem de Banco de Dados da Kinsta.","og_url":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstapt\/","article_published_time":"2024-01-16T17:41:19+00:00","article_modified_time":"2024-01-22T17:55:48+00:00","og_image":[{"width":1999,"height":1000,"url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/01\/python-flask-app.png","type":"image\/png"}],"author":"Steve Bonisteel","twitter_card":"summary_large_image","twitter_description":"Veja como implantar um aplicativo Python Flask rapidamente usando os servi\u00e7os de Hospedagem de Aplicativos e Hospedagem de Banco de Dados da Kinsta.","twitter_image":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/01\/python-flask-app.png","twitter_creator":"@kinsta_pt","twitter_site":"@kinsta_pt","twitter_misc":{"Escrito por":"Steve Bonisteel","Tempo estimado de leitura":"13 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/"},"author":{"name":"Steve Bonisteel","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f"},"headline":"Crie e Implante um Aplicativo Python Rapidamente com Flask e Kinsta","datePublished":"2024-01-16T17:41:19+00:00","dateModified":"2024-01-22T17:55:48+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/"},"wordCount":2400,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/01\/python-flask-app.png","inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/","url":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/","name":"Crie e Implante um Aplicativo Python Rapidamente com Flask e Kinsta","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/01\/python-flask-app.png","datePublished":"2024-01-16T17:41:19+00:00","dateModified":"2024-01-22T17:55:48+00:00","description":"Veja como implantar um aplicativo Python Flask rapidamente usando os servi\u00e7os de Hospedagem de Aplicativos e Hospedagem de Banco de Dados da Kinsta.","breadcrumb":{"@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/#primaryimage","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/01\/python-flask-app.png","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2024\/01\/python-flask-app.png","width":1999,"height":1000},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/pt\/blog\/aplicativo-python-flask\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Python","item":"https:\/\/kinsta.com\/pt\/topicos\/python\/"},{"@type":"ListItem","position":3,"name":"Crie e Implante um Aplicativo Python Rapidamente com Flask e Kinsta"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/pt\/#website","url":"https:\/\/kinsta.com\/pt\/","name":"Kinsta\u00ae","description":"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura","publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/pt\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstapt\/","https:\/\/x.com\/kinsta_pt","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f","name":"Steve Bonisteel","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g","caption":"Steve Bonisteel"},"description":"Steve Bonisteel is a Technical Editor at Kinsta who began his writing career as a print journalist, chasing ambulances and fire trucks. He has been covering Internet-related technology since the late 1990s.","url":"https:\/\/kinsta.com\/pt\/blog\/author\/stevebonisteel\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/66444","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/users\/259"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/comments?post=66444"}],"version-history":[{"count":5,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/66444\/revisions"}],"predecessor-version":[{"id":66504,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/66444\/revisions\/66504"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/66444\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/66444\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/66444\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/66444\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/66444\/translations\/de"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/66444\/translations\/es"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/66444\/translations\/nl"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/66444\/translations\/jp"},{"href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/66444\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media\/66445"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media?parent=66444"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/tags?post=66444"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/topic?post=66444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}