Flask: Alles Wichtige zum Micro-Framework

Flask Python ist ein besonders schlankes Webframework, das für Anfängerinnen und Anfänger sowie Profis gleichermaßen interessant ist. Flask beschränkt sich auf das Wesentliche und erlaubt die Implementierung externer Bibliotheken.

Website mit eigener Domain – MyWebsite Now
Erstellen Sie Ihre eigene Website in wenigen Minuten
  • Professionelle Templates
  • Änderungen am Design mit nur einem Klick
  • Domain, SSL und E-Mail-Postfach inklusive

Python und seine Webframeworks

Python ist eine der beliebtesten Internet-Programmiersprachen der Welt. Das liegt vor allem an seinem Ansatz, möglichst einfachen und kurzen Code zu verwenden. Der Programmierstil wird dadurch sehr viel übersichtlicher, Fehlerquellen werden minimiert und auch die Lernerfolge bei einem Python-Tutorial stellen sich schnell ein. Die 1991 von Guido van Rossum erfundene Sprache wird heute von einer großen Community unter der Aufsicht der gemeinnützigen Python Software Foundation weiterentwickelt. Sie ist Open Source und plattformunabhängig. Als dynamische Sprache unterstützt Python u. a. objektorientierte und funktionale Programmierung sowie Logging und kann als CGI-Script ausgeführt werden.

Für die Erstellung und Entwicklung von dynamischen Websites und anderen Webanwendungen werden auch für Python verschiedene Webframeworks angeboten. Diese erleichtern die Arbeit, da sie Code zur Verfügung stellen und wiederholende Tätigkeiten merklich vereinfachen. Fehler oder Python-Probleme können so vermieden werden und die Webservices laufen sicherer und schneller. Häufig benötigte Funktionen können direkt übernommen werden und erfordern daher keine eigenständige Programmierung. Zu den bekanntesten Webframeworks für Python gehört django CMS, das als Full-Stack-Lösung einen großen Werkzeugkoffer unterschiedlicher Funktionen zur Verfügung stellt, dafür aber auch vergleichsweise festgelegt und starr ist. Der vielleicht bekannteste Gegenentwurf dazu ist Flask.

Tipp

Eine Website mit individueller Note! Mit MyWebsite von IONOS erschaffen Sie Ihren persönlichen Online-Auftritt in nur drei Schritten. Selbst ohne Vorwissen bauen Sie so im Handumdrehen eine professionelle Homepage.

Was ist Flask?

Während Full-Stack-Frameworks wie Django Entwicklerinnen und Entwicklern zahlreiche eigene Bibliotheken zur Verfügung stellen, verfolgt Flask Python einen anderen Ansatz. Das Webframework, das der österreichische Entwickler Armin Ronacher 2010 erstmals der Öffentlichkeit vorstellte, ist ausdrücklich minimalistisch gehalten und verzichtet auf jeglichen Ballast. Einzig die Template-Engine Jinja und eine Bibliothek namens „Werkzeug“ sind enthalten. Auf Funktionen, die bereits von anderen Bibliotheken abgedeckt werden, verzichtet Flask völlig. Stattdessen gibt es die Möglichkeit, all diese Funktionen zu integrieren. Flask steht unter BSD-Lizenz, ist frei und Open Source. Als Gegenentwurf zu Django und anderen Frameworks konnte Flask Python innerhalb kürzester Zeit eine große Fangemeinde begeistern.

Tipp

Der schnellste Weg zur eigenen Website! MyWebsite Now von IONOS ist die ideale Wahl, wenn Sie in kurzer Zeit eine voll funktionale und optisch ansprechende Homepage erstellen möchten.

Flask in Python einrichten und eine Webanwendung erstellen

Bevor Sie Flask für Python einrichten können, müssen ein paar Voraussetzungen erfüllt sein. Dazu gehört, dass Sie Python 2 oder 3 installiert haben. Sie benötigen außerdem einen Texteditor oder IDE und Zugang zum Internet. Außerdem ist es hilfreich, wenn Sie bereits Grundkenntnisse im Bereich Python, Programmierung, Datentypen und for-Schleifen haben. Flask ist ein guter Ausgangspunkt, um die Erstellung von Webanwendungen zu lernen. Das Framework richten Sie folgendermaßen ein:

  1. Erstellen Sie eine virtuelle Umgebung, um das neue Projekt von Ihren restlichen Python Libraries oder Projekten zu trennen. Ansonsten kann dies zu Problemen mit Ihrem System führen. Der passende Code sieht so aus:
$ python -m venv neuesprojekt
  1. Nun installieren Sie Flask. Dafür nutzen Sie am besten das Paketverwaltungsprogramm pip. Der passende Befehl lautet:
$ pip install flask
  1. Um zu überprüfen, ob die Installation erfolgreich war, nutzen Sie diesen Befehl:
$ python -c "import flask; print ( flask._version_ )"
  1. Nun können Sie Flask testen und eine einfache Basisanwendung erstellen. Öffnen Sie dazu in Ihrem Verzeichnis eine Datei. In unserem Beispiel nennen wir sie anfang.py und nutzen nano, um sie aufzurufen:
$ nano anfang.py
  1. In diese Datei schreiben Sie nun folgenden Code:
from flask import Flask
app = Flask ( _name_ )
@app.route ( "/" )
def test ( ):
return "Dies ist ein Test"
  1. Speichern und schließen Sie die Datei.
  2. Mit der Umgebungsvariable FLASK_APP zeigen Sie Flask, wo sich die entsprechende Datei befindet:
$ export FLASK_APP=anfang
  1. Über FLASK_ENV führen Sie die Datei im Entwicklungsmodus aus:
$ export FLASK_ENV=development
  1. Nun führen Sie die Anwendung aus:
$ flask run

Der Output sieht dann in etwa so aus:

Output
* Serving Flask app "anfang" (lazy loading)
* Environment: development
* Debug mode: on
* Running on [IP-Adresse]/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN [PIN]

Vor- und Nachteile von Flask

Es gibt gute Gründe für die Nutzung von Flask. Ein paar Aspekte sprechen allerdings je nach gewünschtem Einsatzzweck auch dagegen. Aus diesem Grund lohnt ein genauer Blick auf die Vor- und Nachteile des Webframeworks.

Vorteile

  • Umfang: Ein schlankeres Framework als Flask Python werden Sie kaum finden. Flask kann sehr schnell installiert und dann direkt genutzt werden.
  • Flexibilität: Auch die Flexibilität, die Flask mit sich bringt, ist herausragend. Sie haben die Möglichkeit, jedes Problem individuell zu lösen und können genau jene Bibliotheken implementieren, die Sie auch wirklich benötigen. So können Sie jedes Projekt individuell angehen.
  • Lernkurve: Lernerfolge stellen sich bei einem Flask-Tutorial sehr schnell ein. Das Framework ist bewusst einfach aufgebaut, erlaubt Ihnen aber auch die Arbeit an anspruchsvollen Projekten. Flask ist daher eine gute Wahl für Einsteigerinnen und Einsteiger sowie Profis gleichermaßen.
  • Open Source: Flask ist frei und Open Source. Daher können Sie das Framework ausprobieren und sehen, ob es die richtige Wahl für Ihre Zwecke ist.
  • Community: Flask hat eine riesige Fangemeinde, die Neulingen und erfahreneren Entwicklerinnen bzw. Entwicklern gerne mit Rat und Tat zur Seite steht. So werden auch Fragen und Probleme schnell beantwortet und gelöst.

Nachteile

  • Umfang: Je nach Einsatzzweck kann der minimalistische Umfang auch ein Nachteil sein. Es muss alles zusätzlich implementiert werden, während andere Frameworks deutlich mehr Funktionen anbieten.
  • Abhängigkeit von Drittanbietern: Die Verwendung externer Bibliotheken ist immer auch eine mögliche Problemquelle, diese sind bei Flask aber unabdingbar.
  • Verantwortung: Während andere Frameworks die Wartung automatisch durchführen und mögliche Probleme direkt beheben, liegt diese Verantwortung bei Flask bei den Nutzerinnen und Nutzern selbst. Das bedeutet einerseits mehr Kontrolle, bereitet andererseits aber auch mehr Arbeit.
Tipp

Praktisch und sicher: Webhosting von IONOS bietet Ihnen flexible Skalierbarkeit, SSL-Zertifikate, einen großen Speicher und zahlreiche nützliche Features. Wählen Sie das passende Modell für Ihre Zwecke!

Fazit: Für wen eignet sich Flask?

Flask ist nicht nur eine tolle Möglichkeit, um die Arbeit mit Webframeworks kennenzulernen, sondern eignet sich auch für anspruchsvolle Projekte. Gerade wenn Flexibilität gefragt ist, bietet sich das Micro-Framework an. Ob Flask Python die richtige Wahl für Sie ist, liegt an Ihren Ansprüchen und der Art Ihres Projekts. Den Vergleich Flask vs. Django finden Sie an anderer Stelle in unserem Digital Guide.

Tipp

Ob neueste Webdesign-Trends, die Grundlagen der modernen Webentwicklung oder die nützlichsten CSS-Tricks: Im Digital Guide von IONOS finden Sie alles Wichtige zu diesen und weiteren Themen – auch zum Web-Scraping mit Python oder zum großen Vergleich PHP vs. Python.

War dieser Artikel hilfreich?
Page top