{"id":57713,"date":"2024-01-16T18:37:08","date_gmt":"2024-01-16T17:37:08","guid":{"rendered":"https:\/\/kinsta.com\/nl\/?p=57713&#038;preview=true&#038;preview_id=57713"},"modified":"2024-01-30T10:12:35","modified_gmt":"2024-01-30T09:12:35","slug":"python-app-flask","status":"publish","type":"post","link":"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/","title":{"rendered":"Zo bouw en deploy je in een handomdraai een Python app met Flask en Kinsta"},"content":{"rendered":"<p><a href=\"https:\/\/kinsta.com\/nl\/onderwerpen\/python\/\">Python<\/a> is een van de populairste <a href=\"https:\/\/kinsta.com\/nl\/onderwerpen\/webdevelopment-talen\/\">ontwikkeltalen<\/a> van vandaag de dag. De eenvoudige syntaxis en lage instapdrempel maken het een goede kandidaat voor beginnende programmeurs die willen beginnen in de wereld van softwaredevelopment.<\/p>\n<p>Een groot aantal frameworks en bibliotheken maken het eenvoudiger om een Python applicatie op te starten. Dit zijn onder andere <a href=\"https:\/\/docs.sevalla.com\/templates\/overviewpython-examples#django\">Django<\/a>, <a href=\"https:\/\/kinsta.com\/nl\/blog\/fastapi\/\">FastAPI<\/a> en <a href=\"https:\/\/kinsta.com\/nl\/blog\/flask-vs-django\/#what-is-flask\">Flask<\/a>. Het Flask framework is populair onder Python developers aan door de ondersteuning van eenvoudige prototyping en de hoge aanpasbaarheid.<\/p>\n<p>Dit praktische artikel laat zien hoe je een eenvoudige aan een database verbonden Python applicatie ontwikkelt met 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>Python applicaties gemakkelijker maken dankzij Flask<\/h2>\n<p><a href=\"https:\/\/flask.palletsprojects.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Flask<\/a>, ontwikkeld in 2010, is zeer geschikt voor het ontwikkelen van Python webapplicaties dankzij het gebruiksgemak en de flexibiliteit. De slanke architectuur richt zich op het leveren van de basis, terwijl het eenvoudig is om bibliotheken toe te voegen voor de functionaliteit die je nodig hebt. Deze aanpak maakt Flask ideaal voor veel projecten, van eenvoudige toepassingen tot complexe systemen.<\/p>\n<p>Flask biedt verschillende tools en mogelijkheden om de ontwikkeling van webapps te ondersteunen, waaronder:<\/p>\n<ul>\n<li>Bibliotheken en hulpmiddelen om HTTP verzoeken en -responses te beheren<\/li>\n<li>De mogelijkheid om verzoeken te routen naar aangewezen functies<\/li>\n<li>Ondersteuning voor rendering templates<\/li>\n<li>Ondersteuning voor databases<\/li>\n<li>Authenticatie- en autorisatiesystemen<\/li>\n<\/ul>\n<h2>Hoe maak je een Python Flask app?<\/h2>\n<p>Je kunt de voordelen van het gebruik van Flask voor het ontwikkelen van webapps ontdekken door <a href=\"https:\/\/kinsta.com\/nl\/blog\/python-tutorials\/\">een Python webapp te maken<\/a> met Flask. Vervolgens kun je de applicatie bouwen en deployen met behulp van Kinsta&#8217;s <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Web Applicatie Hosting<\/a> dienst en deze verbinden met een <a href=\"https:\/\/sevalla.com\/database-hosting\/\">Managed Database<\/a> op het Kinsta platform.<\/p>\n<h3>Voorwaarden Python Flask app<\/h3>\n<p>Om deze tutorial te volgen heb je nodig:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.python.org\/downloads\/\" target=\"_blank\" rel=\"noopener noreferrer\">Python<\/a> versie 3 of hoger<\/li>\n<li><a href=\"https:\/\/dev.mysql.com\/downloads\/installer\/\" target=\"_blank\" rel=\"noopener noreferrer\">MySQL Workbench<\/a><\/li>\n<li>Python&#8217;s <a href=\"https:\/\/pip.pypa.io\/en\/stable\/installation\/\" target=\"_blank\" rel=\"noopener noreferrer\">pip<\/a> en <a href=\"https:\/\/packaging.python.org\/en\/latest\/guides\/installing-using-pip-and-virtual-environments\/#installing-virtualenv\" target=\"_blank\" rel=\"noopener noreferrer\">virtualenv<\/a> pakketten ge\u00efnstalleerd<\/li>\n<li>Een code-editor<\/li>\n<li>Een account bij <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> of <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/gitlab#authorize-the-kinsta-gitlab-application\">GitLab<\/a> om je Git repository te hosten<\/li>\n<li>Een <a href=\"https:\/\/kinsta.com\/nl\/registreren\/?product_type=app-db\">MyKinsta account<\/a> (gratis) om de applicatie te leveren<\/li>\n<\/ul>\n<h3>Flask voor Python installeren<\/h3>\n<p>Ga naar je terminal (Linux of macOS) of Command Prompt (Windows). Begin met het aanmaken van een map met de naam <strong>flask_demo<\/strong>.<\/p>\n<p>Ga naar de nieuwe map en maak een Python virtuele omgeving met het commando <code>python3 -m venv venv<\/code>. In dit geval gebruiken we <strong>venv<\/strong> als naam voor de map die de virtuele omgeving zal ondersteunen.<\/p>\n<p>Activeer de virtuele omgeving met een van deze commando&#8217;s:<\/p>\n<ul>\n<li><code>venvScriptsactivate<\/code> in Windows<\/li>\n<li><code>source venv\/bin\/activate<\/code> in Linux of macOS<\/li>\n<\/ul>\n<p>Installeer nu Flask met <strong>pip<\/strong> door <code>pip install flask<\/code> uit te voeren.<\/p>\n<p>Het werk in je terminal tot nu toe zou er ongeveer zo uit moeten zien:<\/p>\n<figure 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=\"De basis van een Python Flask applicatie maken in de terminal.\" width=\"960\" height=\"556\"><figcaption class=\"wp-caption-text\">De basis van een Python Flask applicatie maken in de terminal.<\/figcaption><\/figure>\n<h3>Een basisapplicatie bouwen<\/h3>\n<p>Maak vervolgens de basisapplicatie en bekijk de functionaliteit ervan door inhoud naar de browser te renderen.<\/p>\n<p>Maak in de <strong>flask_demo<\/strong> directory een bestand genaamd <strong>demo.py<\/strong> en voeg de volgende code toe:<\/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>Deze code importeert Flask uit de module <code>flask<\/code> en maakt er een instance van met de naam <code>app<\/code>. De code maakt vervolgens een route die tekst weergeeft met de tekst &#8220;Happy Coding!&#8221; wanneer gebruikers de app bezoeken in een browser. Tot slot wordt de ontwikkelingsserver uitgevoerd zodra het script start.<\/p>\n<p>Start de applicatie door <code>flask --app demo run<\/code> uit te voeren in de terminal. De flag <code>--app<\/code> specificeert de locatie van de applicatie die wordt uitgevoerd &#8211; hier het bestand <strong>demo.py<\/strong>.<\/p>\n<h3>Templates toevoegen aan je Python Flask app<\/h3>\n<p>Het toevoegen van templates aan je app zal je inhoud versterken. Maak eerst een map genaamd <strong>templates<\/strong> in de root van je applicatie. Ga vervolgens naar de <b>templates <\/b>map en maak een bestand genaamd <strong>index.html<\/strong> met de volgende HTML code:<\/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>Importeer in <strong>demo.py<\/strong> <strong>render_template<\/strong> uit de flask module en render de <strong>index.html<\/strong> template in de route functie als volgt:<\/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>Serve vervolgens je applicatie door <code>flask --app demo run<\/code> uit te voeren in je lokale omgeving. Gebruik het lokale adres in de terminal om de app in je browser te starten. Je zou iets als dit moeten zien:<\/p>\n<figure 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=\"Het begin van een Python Flask app in een webbrowser.\" width=\"960\" height=\"441\"><figcaption class=\"wp-caption-text\">Het begin van een Python Flask app in een webbrowser.<\/figcaption><\/figure>\n<h3>Je Flask app verbinden met een lokale database<\/h3>\n<p>Je gaat een verbinding maken met een lokale database &#8211; MySQL &#8211; waarin de inhoud van de applicatie wordt opgeslagen.<\/p>\n<p>Om je Flask applicatie met MySQL te verbinden, installeer je het volgende:<\/p>\n<ul>\n<li><strong>flask_mysqldb<\/strong>, de MySQL connector voor Flask, met behulp van <code>pip install flask_mysqldb<\/code><\/li>\n<li><strong>Python-dotenv<\/strong>, voor het lezen van omgevingsvariabelen, met behulp van <code>pip install python-dotenv<\/code><\/li>\n<li>De Python MySQL-connector, met <code>pip install mysql-connector-python<\/code><\/li>\n<li>De MySQL dependency, met <code>pip install mysqlclient<\/code><\/li>\n<\/ul>\n<p>Ga naar MySQL Workbench om een database te maken. Zorg ervoor dat je een databasegebruiker toevoegt met rechten om toegang te krijgen tot de database en tabellen aan te maken.<\/p>\n<p>Maak een <strong>.env<\/strong> bestand aan in de hoofdmap van je applicatie om de details van de databaseverbinding in op te slaan. Je voegt de gegevens van je databasegebruiker en de databasenaam toe aan dit 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>In een herzien <strong>demo.py<\/strong> script importeren we nu de MySQL connector en gebruiken we <strong>Python-dotenv<\/strong> om de omgevingsvariabele sleutels in het <strong>.env<\/strong> bestand te lezen. Dit nieuwe <strong>demo.py<\/strong> script controleert ook op het bestaan van een tabel met de naam <strong>persons<\/strong>\u00a0in de database en zal deze aanmaken en vullen als deze niet bestaat.<\/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>Na het instanti\u00ebren van Flask gebruikt de bovenstaande code omgevingsvariabelen om de database-attributen op te halen uit het <strong>.env<\/strong> bestand in de root van je applicatie.<\/p>\n<p>Vervolgens maakt de code MySQL aan en associeert het met Flask. Er wordt een cursorobject aangemaakt in de <code>index<\/code> route. Vervolgens controleert de code of er een tabel met de naam <strong>persons<\/strong>\u00a0in de database staat. Als die niet wordt gevonden, maakt hij hem aan met de attributen <code>id<\/code>, <code>firstname<\/code> en <code>lastname<\/code> en voegt twee rijen gegevens in.<\/p>\n<p>De volgende drie regels voeren een SQL commando uit om alle rijen uit de tabel <strong>persons<\/strong>\u00a0te selecteren en de resultaten op te halen. Het cursorobject wordt gesloten en de resultaten van de query worden doorgegeven als de contextvariabele <code>entry<\/code> voor rendering met de template.<\/p>\n<p>Hier is een herzien <strong>index.html<\/strong> templatebestand dat de resultaten van de database query kan verwerken:<\/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>Voer de applicatie uit en ga dan terug naar MySQL Workbench om de gegevens te controleren. Het zou er als volgt uit moeten zien:<\/p>\n<figure 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=\"Query resultaten voor de persons tabel in MySQL Workbench.\" width=\"900\" height=\"172\"><figcaption class=\"wp-caption-text\">Query resultaten voor de <strong>persons<\/strong>\u00a0tabel in MySQL Workbench.<\/figcaption><\/figure>\n<p>Als je de tabel opvraagt, krijg je de twee gegevens terug die door de app zijn gegenereerd. Je applicatie geeft nu de volgende van de database afgeleide inhoud weer in de browser:<\/p>\n<figure id=\"attachment_172615\" aria-describedby=\"caption-attachment-172615\" style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-172615 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/python-flask-database-application-in-browser.png\" alt=\"Door de database gegenereerde inhoud in de browser.\" width=\"960\" height=\"441\"><figcaption id=\"caption-attachment-172615\" class=\"wp-caption-text\">Door de database gegenereerde inhoud in de browser.<\/figcaption><\/figure>\n<h2>Je Python Flask applicatie deployen naar Kinsta<\/h2>\n<p>Nu je applicatie lokaal draait, kun je hem zichtbaar maken voor de wereld door hem te hosten op Kinsta. Je kunt Kinsta&#8217;s <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Web Applicaten Hosting<\/a> en <a href=\"https:\/\/sevalla.com\/database-hosting\/\">Managed Database Hosting<\/a> diensten koppelen om deze app (en je toekomstige werk) tot leven te brengen in de cloud. En je kunt <a href=\"https:\/\/kinsta.com\/nl\/registreren\/?product_type=app-db\">ze allebei gratis uitproberen<\/a>.<\/p>\n<h3>Je Python project voorbereiden voor deployment<\/h3>\n<p>Kinsta&#8217;s Web Applicatie Hosting platform zet je code uit vanaf je favoriete Git host. Je volgende stap is het configureren van je applicatieomgeving om dat pad te ondersteunen en Kinsta toe te staan je applicatie met alle vereiste dependencies te deployen.<\/p>\n<p>Begin met het aanmaken van een nieuwe map binnen de <strong>flask_demo<\/strong> project root. Laten we deze <strong>myapp noemen.<\/strong> Verplaats vervolgens de <strong>templates <\/strong>map en het <strong>demo.py<\/strong> bestand naar <strong>myapp<\/strong>.<\/p>\n<p>Maak in de <strong>myapp<\/strong> map een <strong>wsgi.py<\/strong> bestand met de volgende inhoud:<\/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>Het bouwproces bij Kinsta zal <strong>pip<\/strong> ook gebruiken om je applicatie te genereren. Je kunt een lijst met dependencies van je app doorgeven aan <strong>pip<\/strong> aan de productiekant met behulp van een <strong>requirements.txt<\/strong> bestand in de rootmap van het project.<\/p>\n<p>Terwijl je nog steeds in de <strong>venv<\/strong> virtuele omgeving en in de <strong>flask_demo<\/strong> hoofdmap werkt, kun je een <strong>requirements.t<\/strong> xt bestand genereren dat specifiek is voor jouw project met het volgende commando:<\/p>\n<pre><code class=\"language-bash\">pip freeze &gt; requirements.txt<\/code><\/pre>\n<p>De inhoud van het resulterende tekstbestand ziet er ongeveer zo uit:<\/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>Je zult het <strong>.env<\/strong> bestand met zijn database-secrets niet naar de productieserver sturen. Omdat je de <code>python-dotenv<\/code> bibliotheek niet nodig hebt om <strong>.env<\/strong> in te lezen in productie, kun je de referentie ervan verwijderen uit <strong>requirements.txt<\/strong> en deze regels verwijderen (of ze wegcommenten) in <strong>demo.py<\/strong>:<\/p>\n<pre><code class=\"language-python\">from dotenv import load_dotenv\nload_dotenv()<\/code><\/pre>\n<h4>Een Python WSGI HTTP server toevoegen aan het project<\/h4>\n<p>E\u00e9n ding dat ontbreekt in de bovenstaande vereisten is een manier om de applicatie via HTTP te serven in een productieomgeving. De ontwikkelserver die je op je lokale machine gebruikt is niet voldoende. Voor dit project gebruik je het Web Server Gateway Interface (WSGI) pakket <a href=\"https:\/\/gunicorn.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Gunicorn<\/a> tussen de app en Kinsta&#8217;s <a href=\"https:\/\/kinsta.com\/nl\/blog\/wat-is-nginx\/\">Nginx<\/a> webservers.<\/p>\n<p>Je kunt een Gunicorn vereiste aan je project toevoegen door het op deze manier in je virtuele omgeving te installeren:<\/p>\n<pre><code class=\"language-bash\">pip install gunicorn<\/code><\/pre>\n<p>Nadat Gunicorn is ge\u00efnstalleerd, gebruik je <strong>pip<\/strong> om opnieuw <strong>requirements.txt<\/strong> te genereren.<\/p>\n<p>Een alternatief voor het lokaal installeren van Gunicorn is het bewerken van <strong>requirements.txt<\/strong> en simpelweg een regel als deze toe te voegen:<\/p>\n<pre><code class=\"language-makefile\">gunicorn==21.2.0<\/code><\/pre>\n<p>Om het basiswerk voor de WSGI server af te ronden, maak je een bestand aan in de hoofdmap van het project met de naam <strong>Procfile<\/strong> en voeg je de volgende regel toe:<\/p>\n<pre><code class=\"language-makefile\">web: gunicorn myapp.wsgi<\/code><\/pre>\n<p>Dit zal de basis zijn van het start commando voor je app in productie.<\/p>\n<h4>Je project klaarmaken voor Git<\/h4>\n<p>De herziene mapstructuur is klaar voor deployment bij Kinsta, maar je wilt niet dat al die bestanden naar productie gaan. Maak een <strong>.gitignore<\/strong> bestand in de project root met een inhoud als deze:<\/p>\n<pre><code class=\"language-makefile\">\/venv\n.env<\/code><\/pre>\n<p>Dit zal voorkomen dat de bestanden in de <strong>venv<\/strong> map en de lokale database geheimen in <strong>.env<\/strong> ge\u00fcpload worden naar je Git host.<\/p>\n<p>Je kunt nu je lokale Git omgeving starten en de code naar je Git host pushen met de tools van je voorkeur.<\/p>\n<h3>Je Python Flask app deployen naar Kinsta<\/h3>\n<p>Log in op je MyKinsta dashboard en zorg ervoor dat je Kinsta toegang hebt gegeven tot je <a href=\"https:\/\/docs.sevalla.com\/applications\/overviewapplication-getting-started#git-service-providers\">Git serviceprovider<\/a>. Volg de stappen om <a href=\"https:\/\/docs.sevalla.com\/applications\/get-started\/add-an-applicationadd-an-application\">een applicatie toe te voegen<\/a> en selecteer de repository en branch op de Git host waar Kinsta deze Flask projectcode zal vinden.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Je kiest uit een van de vele datacenters die wereldwijd beschikbaar zijn voor Applicatie Hosting van Kinsta. Noteer je keuze, want je zult dezelfde willen gebruiken als je je database aanmaakt.<\/p>\n<\/aside>\n\n<p>Wanneer je de bouwomgeving configureert, selecteer dan <strong>Gebruik Buildpacks om de container image in te stellen<\/strong>, maar laat alle andere instellingen op de standaardwaarden staan. (Je hoeft geen <strong>Start commando<\/strong> op te geven omdat dat al gedefinieerd is in je <strong>Procfile<\/strong>)<\/p>\n<figure 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=\"Buildpacks kiezen om de container image voor de applicatie in te stellen.\" width=\"960\" height=\"856\"><figcaption class=\"wp-caption-text\">Buildpacks kiezen om de container image voor de applicatie in te stellen.<\/figcaption><\/figure>\n<p>Nadat je de factuurgegevens hebt bekeken (je kunt nog steeds gratis aan de slag!), klik je op de knop <strong>Nu bouwen<\/strong> en bekijk je de voortgang in de logboekviewer:<\/p>\n<figure 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=\"Logboekvermeldingen van het deployen van je Python Flask app.\" width=\"960\" height=\"617\"><figcaption class=\"wp-caption-text\">Logboekvermeldingen van het deployen van je Python Flask app.<\/figcaption><\/figure>\n<h3>Een database toevoegen voor je Python Flask app<\/h3>\n<p>Kinsta heeft vier managed databaseopties om aan je behoeften en applicatie-eisen te voldoen: Redis, PostgreSQL, MariaDB en MySQL. In deze tutorial bouwen we voor de MySQL databasedienst.<\/p>\n<p>Volg de offici\u00eble instructies voor het <a href=\"https:\/\/docs.sevalla.com\/databases\/get-started\/add-a-database\">toevoegen van een database<\/a> en vergeet niet om hetzelfde datacenter te kiezen dat je hebt gekozen voor je Flask applicatie.<\/p>\n<p>Nadat je de database hebt gemaakt, selecteer je deze in de lijst met beschikbare DB-servers en scroll je naar beneden naar het gedeelte <strong>Interne verbindingen<\/strong> \/ <strong>Toegestane applicaties<\/strong> op het tabblad <strong>Overzicht<\/strong>. Wanneer je op de knop <strong>Verbinding toevoegen<\/strong> klikt, zal je Flask applicatieservice in hetzelfde datacenter beschikbaar zijn om te selecteren:<\/p>\n<figure 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=\"Een interne verbinding toevoegen aan een applicatie na het maken van een database.\" width=\"960\" height=\"466\"><figcaption class=\"wp-caption-text\">Een interne verbinding toevoegen aan een applicatie na het maken van een database.<\/figcaption><\/figure>\n<p>Klik op het selectievakje <strong>Omgevingsvariabelen toevoegen aan de applicatie<\/strong> voordat je de nieuwe verbinding maakt. Dit toont de omgevingsvariabelen die je database-secrets zullen bevatten &#8211; allemaal veilig afgehandeld zonder dat je het <strong>.env<\/strong> bestand nodig hebt.<\/p>\n<figure 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=\"Omgevingsvariabelen toevoegen voor een interne verbinding met je database.\" width=\"959\" height=\"854\"><figcaption class=\"wp-caption-text\">Omgevingsvariabelen toevoegen voor een interne verbinding met je database.<\/figcaption><\/figure>\n<p>Onderaan het bovenstaande dialoogvenster zijn de instellingen <strong>Beschikbaar tijdens runtime<\/strong> en<strong> Beschikbaar tijdens bouwproces<\/strong> standaard ingeschakeld &#8211; en dat is precies wat je wilt.<\/p>\n<p>Nadat je uiteindelijk op de knop <strong>Verbinding toevoegen<\/strong> hebt geklikt, worden de omgevingsvariabelen die nodig zijn voor databasetoegang toegepast op je project <strong>Instellingen<\/strong> in het dashboard <b>Applicaties <\/b>van MyKinsta:<\/p>\n<figure 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 van een MyKinsta dialoogvenster met omgevingsvariabelen die vanuit de database worden doorgegeven aan een applicatie.\" width=\"960\" height=\"382\"><figcaption class=\"wp-caption-text\">Database omgevingsvariabelen doorgegeven aan de Python Flask app.<\/figcaption><\/figure>\n<p>Zelfs als je je applicatie opnieuw bouwt na toekomstige uitbreidingen, blijven de gegevens van de databaseverbinding behouden.<\/p>\n<figure 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=\"De Python Flask applicatie werkt nu op het Kinsta platform.\" width=\"960\" height=\"441\"><figcaption class=\"wp-caption-text\">De Python Flask applicatie werkt nu op het Kinsta platform.<\/figcaption><\/figure>\n<p>Gefeliciteerd! Je hebt zojuist een Python Flask applicatie gemaakt en gedeployd op het Kinsta platform.<\/p>\n<h2>Samenvatting<\/h2>\n<p>Het aanpasbare framework van Flask maakt het maken van een Python applicatie veel eenvoudiger. Het gebruik van Kinsta om een Flask applicatie te deployen maakt het nog eenvoudiger en versnelt de ontwikkeling en deployment van applicaties.<\/p>\n<p>Hier hebben we geleerd hoe we een eenvoudige database-verbonden applicatie kunnen bouwen binnen een lokale ontwikkelomgeving en deze vervolgens beschikbaar kunnen maken voor de rest van de wereld op Kinsta&#8217;s <a href=\"https:\/\/kinsta.com\/docs\/application-hosting\">Web Applicatie Hosting<\/a> en <a href=\"https:\/\/kinsta.com\/docs\/database-hosting\">Database Hosting<\/a> platforms.<\/p>\n<p>Ontdek wat je nog meer kunt bouwen op ons platform door onze <a href=\"https:\/\/docs.sevalla.com\/applications\/overviewapp-quick-start\">Quickstart templates<\/a> te bekijken.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Python is een van de populairste ontwikkeltalen van vandaag de dag. De eenvoudige syntaxis en lage instapdrempel maken het een goede kandidaat voor beginnende programmeurs die &#8230;<\/p>\n","protected":false},"author":259,"featured_media":57714,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[870],"class_list":["post-57713","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>Zo bouw en deploy je in een handomdraai een Python app met Flask en Kinsta<\/title>\n<meta name=\"description\" content=\"Dit is hoe je snel een Python Flask app kunt deployen met behulp van Kinsta&#039;s Applicatie Hosting en Database Hosting diensten.\" \/>\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\/nl\/blog\/python-app-flask\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Zo bouw en deploy je in een handomdraai een Python app met Flask en Kinsta\" \/>\n<meta property=\"og:description\" content=\"Dit is hoe je snel een Python Flask app kunt deployen met behulp van Kinsta&#039;s Applicatie Hosting en Database Hosting diensten.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-16T17:37:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-30T09:12:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/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=\"Dit is hoe je snel een Python Flask app kunt deployen met behulp van Kinsta&#039;s Applicatie Hosting en Database Hosting diensten.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/python-flask-app.png\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:label1\" content=\"Geschreven door\" \/>\n\t<meta name=\"twitter:data1\" content=\"Steve Bonisteel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/\"},\"author\":{\"name\":\"Steve Bonisteel\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\"},\"headline\":\"Zo bouw en deploy je in een handomdraai een Python app met Flask en Kinsta\",\"datePublished\":\"2024-01-16T17:37:08+00:00\",\"dateModified\":\"2024-01-30T09:12:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/\"},\"wordCount\":2203,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/python-flask-app.png\",\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/\",\"url\":\"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/\",\"name\":\"Zo bouw en deploy je in een handomdraai een Python app met Flask en Kinsta\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/python-flask-app.png\",\"datePublished\":\"2024-01-16T17:37:08+00:00\",\"dateModified\":\"2024-01-30T09:12:35+00:00\",\"description\":\"Dit is hoe je snel een Python Flask app kunt deployen met behulp van Kinsta's Applicatie Hosting en Database Hosting diensten.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/python-flask-app.png\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/python-flask-app.png\",\"width\":1999,\"height\":1000},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python\",\"item\":\"https:\/\/kinsta.com\/nl\/onderwerpen\/python\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Zo bouw en deploy je in een handomdraai een Python app met Flask en Kinsta\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/nl\/#website\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Snelle, veilige, premium hostingoplossingen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/nl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\",\"https:\/\/x.com\/Kinsta_NL\",\"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\/nl\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\",\"name\":\"Steve Bonisteel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/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\/nl\/blog\/author\/stevebonisteel\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Zo bouw en deploy je in een handomdraai een Python app met Flask en Kinsta","description":"Dit is hoe je snel een Python Flask app kunt deployen met behulp van Kinsta's Applicatie Hosting en Database Hosting diensten.","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\/nl\/blog\/python-app-flask\/","og_locale":"nl_NL","og_type":"article","og_title":"Zo bouw en deploy je in een handomdraai een Python app met Flask en Kinsta","og_description":"Dit is hoe je snel een Python Flask app kunt deployen met behulp van Kinsta's Applicatie Hosting en Database Hosting diensten.","og_url":"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","article_published_time":"2024-01-16T17:37:08+00:00","article_modified_time":"2024-01-30T09:12:35+00:00","og_image":[{"width":1999,"height":1000,"url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/python-flask-app.png","type":"image\/png"}],"author":"Steve Bonisteel","twitter_card":"summary_large_image","twitter_description":"Dit is hoe je snel een Python Flask app kunt deployen met behulp van Kinsta's Applicatie Hosting en Database Hosting diensten.","twitter_image":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/python-flask-app.png","twitter_creator":"@Kinsta_NL","twitter_site":"@Kinsta_NL","twitter_misc":{"Geschreven door":"Steve Bonisteel","Geschatte leestijd":"13 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/"},"author":{"name":"Steve Bonisteel","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f"},"headline":"Zo bouw en deploy je in een handomdraai een Python app met Flask en Kinsta","datePublished":"2024-01-16T17:37:08+00:00","dateModified":"2024-01-30T09:12:35+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/"},"wordCount":2203,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/python-flask-app.png","inLanguage":"nl-NL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/","url":"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/","name":"Zo bouw en deploy je in een handomdraai een Python app met Flask en Kinsta","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/python-flask-app.png","datePublished":"2024-01-16T17:37:08+00:00","dateModified":"2024-01-30T09:12:35+00:00","description":"Dit is hoe je snel een Python Flask app kunt deployen met behulp van Kinsta's Applicatie Hosting en Database Hosting diensten.","breadcrumb":{"@id":"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/"]}]},{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/#primaryimage","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/python-flask-app.png","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2024\/01\/python-flask-app.png","width":1999,"height":1000},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/nl\/blog\/python-app-flask\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/nl\/"},{"@type":"ListItem","position":2,"name":"Python","item":"https:\/\/kinsta.com\/nl\/onderwerpen\/python\/"},{"@type":"ListItem","position":3,"name":"Zo bouw en deploy je in een handomdraai een Python app met Flask en Kinsta"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/nl\/#website","url":"https:\/\/kinsta.com\/nl\/","name":"Kinsta\u00ae","description":"Snelle, veilige, premium hostingoplossingen","publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/nl\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/nl\/","logo":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","https:\/\/x.com\/Kinsta_NL","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\/nl\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f","name":"Steve Bonisteel","image":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/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\/nl\/blog\/author\/stevebonisteel\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/57713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/users\/259"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/comments?post=57713"}],"version-history":[{"count":6,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/57713\/revisions"}],"predecessor-version":[{"id":57849,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/57713\/revisions\/57849"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57713\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57713\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57713\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57713\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57713\/translations\/de"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57713\/translations\/es"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57713\/translations\/nl"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57713\/translations\/jp"},{"href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/57713\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media\/57714"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media?parent=57713"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/tags?post=57713"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/topic?post=57713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}