Skip to content
Snippets Groups Projects
Commit ed7b2041 authored by Axel Dürkop's avatar Axel Dürkop
Browse files

Update Links

parent 54555379
No related branches found
No related tags found
No related merge requests found
......@@ -233,6 +233,6 @@ Das Potenzial unserer doch recht aufwändigen Umbauaktion ist bei Weitem noch ni
### Was passiert, wenn wir in der jetztigen Website navigieren?
Das funktioniert noch nicht. Was allerdings funktioniert - jedenfalls ein bisschen - ist die manuelle Eingabe der URLs im Browser: http://134.28.125.132:5000/team zeigt die Team-Seite an, aber schon wieder ohne CSS und ohne Bilder.
Das funktioniert noch nicht. Was allerdings funktioniert - jedenfalls ein bisschen - ist die manuelle Eingabe der URLs im Browser: http://localhost:5000/team zeigt die Team-Seite an, aber schon wieder ohne CSS und ohne Bilder.
Was muss man nun machen, damit wenigstens hier dass CSS sowie die Bilder korrekt angezeigt werden?
......@@ -30,7 +30,7 @@ Flask hat ein sehr flexibles und stabiles Konstrukt eingebaut, mit dem sich HTML
- Templates können Platzhalter enthalten, die dynamische mit Werten aus den Route-Funktionen gefüllt werden können.
- Jinja2 stattet Templates mit Kontrollstrukturen aus - was HTML nicht kann -, sodass Schleifen und Verzweigungen möglich sind.
Eine detaillierte Dokumentation von Jinja2 findet sich auf der [Homepage des Projekts](http://jinja.pocoo.org/docs/2.9/).
Eine detaillierte Dokumentation von Jinja2 findet sich auf der [Homepage des Projekts](https://jinja.palletsprojects.com/en/2.10.x/).
## Umbau des Secondhandblumenladens
......
......@@ -35,7 +35,7 @@ Mit dem Session-Cookie identifiziert sich der Client bei jedem erneuten Request
## Sessions mit Flask
Die [Dokumentation von Flask zum Thema Sessions](http://flask.pocoo.org/docs/0.12/quickstart/#sessions) zeigt ein funktionierendes Beispiel, das wir zunächst besprechen wollen.
Die [Dokumentation von Flask zum Thema Sessions](https://flask.palletsprojects.com/en/1.1.x/quickstart/#sessions) zeigt ein funktionierendes Beispiel, das wir zunächst besprechen wollen.
```python
from flask import Flask, session, redirect, url_for, escape, request
......@@ -92,7 +92,7 @@ if request.method == 'POST':
session['username'] = request.form['username']
return redirect(url_for('index'))
```
Hier wird geschaut, ob das Formular abgeschickt wurde, was man über die verwendete HTTP-Methode feststellen kann. Wenn ja, wird der eingegebene Wert aus dem Formular gespeichert. Dabei wird der Session-Speicherplatz in `username` mit dem Wert in `username` aus dem Formular belegt. Flask verwaltet Sessiondaten in einem so genannten *dictionary*, einem sehr häufig verwendeten Python-Datentyp. Hierzu empfiehlt sich, [den entsprechenden Abschnitt in der Python-Dokumentation](https://docs.python.org/2/library/stdtypes.html?highlight=dictionary#dict) zu lesen oder aber [einen guten Tutorialausschnitt auf Deutsch](http://www.python-kurs.eu/dictionaries.php). Das *dictionary* hat in unserem Beispiel die folgende Gestalt:
Hier wird geschaut, ob das Formular abgeschickt wurde, was man über die verwendete HTTP-Methode feststellen kann. Wenn ja, wird der eingegebene Wert aus dem Formular gespeichert. Dabei wird der Session-Speicherplatz in `username` mit dem Wert in `username` aus dem Formular belegt. Flask verwaltet Sessiondaten in einem so genannten *dictionary*, einem sehr häufig verwendeten Python-Datentyp. Hierzu empfiehlt sich, [den entsprechenden Abschnitt in der Python-Dokumentation](https://docs.python.org/3.7/library/stdtypes.html?highlight=dictionary#dict) zu lesen oder aber [einen guten Tutorialausschnitt auf Deutsch](https://www.python-kurs.eu/python3_dictionaries.php). Das *dictionary* hat in unserem Beispiel die folgende Gestalt:
```python
{
......
......@@ -2,7 +2,7 @@
title= "Flask auf der Serverseite"
date= 2019-04-02T12:50:13+01:00
draft= false
weight = 100
weight = 10
# Table of content (toc) is enabled by default. Set this parameter to true to disable it.
# Note: Toc is always disabled for chapter pages
......@@ -24,11 +24,11 @@ LastModifierEmail = ""
+++
[Flask](http://flask.pocoo.org/docs/0.12/) 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.
[Flask](https://flask.palletsprojects.com/en/1.1.x/) 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](http://flask.pocoo.org/docs/0.11/installation/) erklärt.
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](https://flask.palletsprojects.com/en/1.1.x/installation/) erklärt.
### Per SSH auf den Raspberry Pi
......@@ -92,4 +92,4 @@ Abschließend kann unsere App von einem Browser aus aufgerufen werden.
## 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](/material/sitzungsmaterial/flask/request-daten-mit-flask-auswerten.md).
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](/python/flask/request-daten-mit-flask-auswerten).
......@@ -2,7 +2,7 @@
title= "Request-Daten mit Flask auswerten"
date= 2019-04-02T12:50:13+01:00
draft= false
weight = 100
weight = 60
# Table of content (toc) is enabled by default. Set this parameter to true to disable it.
# Note: Toc is always disabled for chapter pages
......@@ -25,7 +25,7 @@ LastModifierEmail = ""
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.
Das Experiment [Analyse der Kommunikation zwischen Client und Server](/client_und_server/analyse-client-server) 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
......@@ -72,4 +72,4 @@ Bringen Sie das Programm auf dem Raspberry zum Laufen und diskutieren Sie mit an
## 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. Lesen Sie 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](/python/flask/aus-statisch-mach-dynamisch).
......@@ -29,7 +29,7 @@ Flask läuft mit Python. Das ist insofern praktisch, als dass alles, was Python
## Tabellen aus einer zweidimensionalen Liste erstellen
Der Datentyp *list* ist ja schon aus dem [vergangenen Semester bekannt](http://www.python-processing-arduino.de/Programmiergrundlagen/listen.html). Mit ihm kann in einer Variablen eine Liste von Werten gespeichert werden.
Mit dem Datentyp *list* kann in einer Variablen eine Liste von Werten gespeichert werden.
```python
blumen = ["Rosen","Tulpen", "Lilien"]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment