Commit 57aaadf1 authored by Axel Dürkop's avatar Axel Dürkop

Update Tutorials

parent 8fb72a31
......@@ -17,3 +17,4 @@ _book
notizen-kurs.md
book.md
notizen.md
......@@ -10,7 +10,9 @@ Es gibt viele verschiedene Wege, Flask zu installieren. Wir wählen hier einen a
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.
sudo pip install Flask
```bash
pi@raspberrypi:~ $ sudo pip3 install Flask
```
## Minimal-Applikation mit Flask
......@@ -24,11 +26,13 @@ pi@raspberrypi:~/www/helloflask $
```
In dem neu erstellten Ordner legen wir mit dem Editor `nano` eine Datei an.
pi@raspberrypi:~/www/helloflask $ nano server.py
pi@raspberrypi:~/www/helloflask $ nano app.py
Nachdem sich der Editor geöffnet hat, schreiben wir den folgenden Python-Code hinein.
```python
#!/usr/bin/env python3
# Importieren der notwendigen Module
from flask import Flask
# Definieren einer Variable, die die aktuelle Datei zum Zentrum
......@@ -41,6 +45,9 @@ app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ =='__main__':
app.run(host="0.0.0.0", debug=True)
```
Mit <kbd>STRG</kbd>+<kbd>X</kbd> verlassen Sie den Editor. Die Frage, ob Sie speichern wollen, beantworten Sie mit `Ja` und stimmen auch dem Namen zu.
......@@ -48,13 +55,9 @@ Mit <kbd>STRG</kbd>+<kbd>X</kbd> verlassen Sie den Editor. Die Frage, ob Sie spe
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 $ export FLASK_APP=server.py
Mit diesem Kommando belegen wir eine sogenannte Umgebungsvariable mit Namen `FLASK_APP` mit einem Wert, nämlich dem Namen unseres kleinen Programms. Nun die App starten:
pi@raspberrypi:~/www/helloflask $ flask run --host=0.0.0.0
Den Parameter `host` setzen wir auf `0.0.0.0`, um die App von außerhalb des Raspberry Pis erreichbar zu machen.
```python
pi@raspberrypi:~/www/helloflask $ python3 app.py
```
## Aufrufen der Webseite im Browser
......
......@@ -3,6 +3,8 @@
Das Experiment [Analyse der Kommunikation zwischen Client und Server](/material/sitzungsmaterial/analyse-client-server.md) hat gezeigt, dass Formulardaten mit dem Request des Clients an den Server geschickt werden. Damit man dort etwas mit ihnen anfangen kann, müssen wir ein Programm schreiben, dass die Daten in Empfang nimmt. In Flask unternehmen wir dazu einen ersten Versuch.
```python
#!/usr/bin/env python3
from flask import Flask
# Importieren eines weiteren Moduls, mit dem auf die Daten
# des Requests zugegriffen werden kann.
......@@ -30,17 +32,19 @@ def login():
<p>%s</p>
<a href="/">Zur Homepage</a>
""" % message
```
if __name__ =='__main__':
app.run(host="0.0.0.0", debug=True)
```
## Aufgabe
Bring das Programm auf dem Raspberry zum Laufen und diskutiere mit anderen
Bringen Sie das Programm auf dem Raspberry zum Laufen und diskutieren Sie mit anderen
- den logischen Aufbau des Programms
- besondere Merkmale im Code, die Du bisher von Python nicht kanntest.
- besondere Merkmale im Code, die Sie bisher von Python nicht kannten.
Überlege: Was musst Du tun, um Dein eigenes HTML-Projekt mit Flask startklar zu machen?
Überlege: Was müssen Sie tun, um Ihr eigenes HTML-Projekt mit Flask startklar zu machen?
## Wie geht's weiter?
Die nächste Herausforderung ist, das eigene HTML-Projekt, das bisher entstanden ist, in eine dynamische Website zu verwandeln. Das geht mit Flask verhältnismäßig einfach. Lies dazu den Abschnitt [Aus statisch mach dynamisch](/material/sitzungsmaterial/flask/aus-statisch-mach-dynamisch.md).
Die nächste Herausforderung ist, das eigene HTML-Projekt, das bisher entstanden ist, in eine dynamische Website zu verwandeln. Das geht mit Flask verhältnismäßig einfach. Lesen Sie dazu den Abschnitt [Aus statisch mach dynamisch](/material/sitzungsmaterial/flask/aus-statisch-mach-dynamisch.md).
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment