Flask auf Server hosten?
Hallo,
Ich arbeite gerade mit Flask und als Anfänger arbeitet man da ja natürlich immer mit dem Localhost bzw. Development Server. Für mein Projekt bräuchte ich da aber mehr oder weniger eine Anwendung bei der das Flask-File von überall aufgerufen werden und arbeiten kann.
Welche Möglichkeiten habe ich da um das ganze von woanders zu hosten. Würde nämlich gerne von einer Website Daten an diesen „Server“ spielen der verarbeitet das dann und schickt die verarbeiteten Daten wieder an die Website zurück. Handelt es sich hierbei dann um eine RestApi?
Bin noch ein Anfänger in diesem Bereich trotzdem würde es mich sehr freuen wenn ihr mir hier Tipps geben könntet wie ich das ganze auf einen Server bringen könnte!
2 Antworten
Welche Möglichkeiten habe ich da um das ganze von woanders zu hosten.
Im einfachsten Fall suchst du dir einen Webhosting Service, der es dir erlaubt, Python-/Flask-Anwendungen zu betreiben. Anbieter solltest du ausreichend finden, sei es DigitalOcean, PythonAnywhere, Google Cloud, Ionos, o.ä..
Bezüglich der Einrichtung / des Datei-Uploads solltest du in das FAQ/Manual des jeweiligen Anbieters schauen. In der Regel bietet dieser zumindest grundlegende Informationen.
Sollte der Hosting-Anbieter noch keine Webservervorgaben machen (du diesen also erst selbst einrichten müsstest), dann beachte, dass der von Flask mitgelieferte Server (Werkzeug) nicht für Produktivsysteme ausgelegt ist (lies dazu auch hier). Nutze stattdessen eine Alternative wie Gunicorn oder Apache (mit mod_wsgi). Weiteres dazu hier.
Handelt es sich hierbei dann um eine RestApi?
Wenn die Anwendung öffentliche Anknüpfpunkte bietet, kann man dies als API bezeichnen. In deinem Fall sind es dann spezifische URLs, die nach Anfrage irgendwelche Daten zurückliefern.
Eine RESTful API ist eine spezielle Form an API, die nochmals spezielle Kriterien erfüllt. Es gibt etliche Internetartikel, die näher darauf eingehen. So zum Beispiel dieser von Red Hat.
Wenn du mit Flask eine RESTful API bauen möchtest, kann dir womöglich die Flask-RESTful-Extension zusätzliche Hilfe leisten.
Mit Localhost meinst du deinen Computer?
Kannst ja sonst einfach einen Virtuellen Server aufsetzen.