Flask auf der Serverseite

Flask ist ein so genanntes Microframework. Darunter lässt sich eine Art Baukasten verstehen, mit dem man schnell zum Ziel kommt - jedenfalls schneller, als wenn man alles von Grund auf neu programmieren würde. Aus Sicht der Didaktik wäre es natürlich besser, alles von Grund auf neu zu programmieren. Aber wir haben nur begrenzt Zeit, alle relevanten Webtechnologien im Rahmen der Veranstaltung anzusprechen und auszuprobieren. Außerdem repräsentiert Flask eine moderne Art der Webprogrammierung, die Sie kennen sollten.

Installation von Flask

Es gibt viele verschiedene Wege, Flask zu installieren. Wir wählen hier einen aus, der schnell zum Ziel führt. Weitere Möglichkeiten sind in der Dokumentation von Flask erklärt.

Per SSH auf den Raspberry Pi

Wir installieren Flask auf dem Raspberry Pi, denn er spielt die Rolle des Webservers. Dazu gehen wir per SSH auf den Rechner und führen dann das folgende Kommando aus.

pi@raspberrypi:~ $ sudo pip3 install Flask

Minimal-Applikation mit Flask

Um Flask auszuprobieren, legen wir eine erste Datei an, mit der wir die Welt begrüßen - so gehört es sich.

pi@raspberrypi:~ $ cd www/
pi@raspberrypi:~/www $ mkdir helloflask
pi@raspberrypi:~/www $ cd helloflask/
pi@raspberrypi:~/www/helloflask $

In dem neu erstellten Ordner legen wir mit dem Editor nano eine Datei an.

pi@raspberrypi:~/www/helloflask $ nano app.py

Nachdem sich der Editor geöffnet hat, schreiben wir den folgenden Python-Code hinein.

#!/usr/bin/env python3

# Importieren der notwendigen Module
from flask import Flask
# Definieren einer Variable, die die aktuelle Datei zum Zentrum
# der Anwendung macht.
app = Flask(__name__)

# Festlegen einer Route für die Homepage. Der String in den Klammern
# bildet das URL-Muster ab, unter dem der folgende Code ausgeführt
# werden soll.
@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ =='__main__':
    app.run(host="0.0.0.0", debug=True)

Mit STRG+X verlassen Sie den Editor. Die Frage, ob Sie speichern wollen, beantworten Sie mit Ja und stimmen auch dem Namen zu.

Flask-App starten

Flask besitzt einen eingebauten Webserver, der während der Entwicklung benutzt werden kann. Das bedeutet, dass unsere paar Codezeilen mit wenigen Befehlen im Netz verfügbar gemacht werden können! Folgendes muss dafür auf der Kommandozeile eingegeben werden.

pi@raspberrypi:~/www/helloflask $ python3 app.py

Aufrufen der Webseite im Browser

Abschließend kann unsere App von einem Browser aus aufgerufen werden.

http://[IP-Adresse des RPI]:5000

Wie geht's weiter?

Nachdem wir nun eine Anwendung haben, die Anfragen (requests) annimmt und eine Antwort (response) zurückschickt, können wir uns darum kümmern, Daten aus dem Request zu verarbeiten. Lesen Sie dazu weiter auf der Seite Request-Daten mit Flask auswerten.