Flask ist ein Microframework für Python, das es leicht macht, Webanwendungen zu erstellen. In diesem Tutorial werde ich dir zeigen, wie du eine einfache Webanwendung in Flask erstellen kannst, die in nur 60 Minuten fertig sein wird. Es ist wichtig zu erwähnen, dass Grundkenntnisse in Python erforderlich sind, um dieses Tutorial zu verstehen.
Schritt 1: Flask installieren
Bevor wir mit der Entwicklung beginnen können, müssen wir Flask installieren. Dafür öffne deine Kommandozeile oder Terminal und gib den folgenden Befehl ein:
pip install Flask
Dies wird Flask sowie alle seine Abhängigkeiten installieren.
Schritt 2: Erstellen eines einfachen Web-Server
Erstelle eine neue Datei namens app.py und öffne sie in einem Texteditor deiner Wahl. Füge den folgenden Code ein:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run()
Dieser Code erstellt eine einfache Flask-App, die eine Route definiert, die unter der URL / aufgerufen wird und die Nachricht ‘Hello, World!’ zurückgibt. Um den Webserver zu starten, gehe zurück zu deiner Kommandozeile oder Terminal und führe die folgende Befehl aus:
python app.py
Wenn alles richtig gemacht wurde, solltest du die Nachricht ‘Hello, World!’ auf deinem Bildschirm sehen. Klicke auf den Link, um zu überprüfen, ob deine App funktioniert.
Schritt 3: Erstellen einer HTML-Seite
Nun wollen wir unsere App etwas komplexer gestalten, indem wir eine HTML-Seite erstellen. Erstelle eine neue Datei namens index.html im selben Verzeichnis wie app.py und füge den folgenden HTML-Code ein:
<!DOCTYPE html>
<html>
<head>
<title>Flask Tutorial</title>
</head>
<body>
<h1>Hello, World!</h1>
<p>This is a simple Flask web app.</p>
</body>
</html>
Schritt 4: Anzeigen der HTML-Seite in der Flask-App
Ändere den Code in app.py wie folgt:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def hello_world():
return render_template('index.html')
if __name__ == '__main__':
app.run()
In diesem Codeausschnitt importieren wir die render_template Funktion aus Flask und verwenden sie, um die HTML-Seite anzuzeigen, die wir erstellt haben. Starte die App erneut mit dem Befehl python app.py und gehe auf den Link, um zu sehen, wie die HTML-Seite angezeigt wird.
Schritt 5: Hinzufügen von Routen und dynamischen Daten
Nun wollen wir unserer App etwas Funktionalität hinzufügen, indem wir dynamische Daten anzeigen. Ändere den Code wie folgt:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def hello_world():
return render_template('index.html')
@app.route('/name/<name>')
def hello_name(name):
return f'Hello, {name}!'
if __name__ == '__main__':
app.run()
In diesem Codeausschnitt haben wir eine neue Route hinzugefügt, die den Namen als Parameter annimmt und eine personalisierte Nachricht zurückgibt. Starte die App erneut und rufe die URL /name/YourName auf, um zu sehen, wie die personalisierte Nachricht angezeigt wird.
Schritt 6: Fertigstellen der Webanwendung
Um die Webanwendung fertigzustellen, könntest du weitere Routen hinzufügen, Formulare einbinden oder Datenbanken integrieren. Mit Flask ist die Möglichkeiten sind endlos, und es gibt viele Ressourcen im Internet, um dir bei der Erstellung von fortgeschritteneren Webanwendungen zu helfen.
Das war eine kurze Einführung in die Erstellung von Webanwendungen mit Flask. Ich hoffe, dass dir dieses Tutorial geholfen hat, einen guten Einstieg in die Welt der Webentwicklung mit Python zu bekommen. Viel Spaß beim Experimentieren und Erstellen eigener Projekte mit Flask!
Klasse Tutorial. Für mich als JAVA-Entwickler ein schneller Einstieg in Python und Webinterface. Danke.
Hallo Junus, total tolles Video! kannst du den Code teilen? Oder Github Link teilen? Vielen Dank!
tut mir leid aber außer mal zu sehen wie man sowas macht und wie einige funktionen von flask funktioneren bietet dieses video nicht sehr viel mehrwert und einfaches abtippen ist sinnlos lieber mal hier und da so ne kleine aufgabe mit einbauen und die leute hier ein bisschen schwitzen lassen, aber ja hab jetzt mal gesehen wie man mit flask ne app macht cool.
Wenn ich die Datenbank erstellen will gibt es bei dem Befehl "from main import db" die Fehlermeldung "ImportError: cannot import name 'db' from 'main'". Ich habe die Python Konsole über das CMD-Terminal geöffnet. Im Internet habe ich dazu auch keine Lösung gefunden. Kann mir dabei jemand weiterhelfen?
Hallo JUnus, erstens mal super Tutorial wolle es einfach mal nachbauen, leider hänge ich bei der Datenbank die du erstellst, leider bekomme ich bei dem Befehl "db.create_all()" eine Fehlermeldung leider bekomme ich es nicht hin. Habe auch die verschiedenen Lösungsvorschläge versucht, leider ohne Erfolg. Vielleicht hast du eine Lösung dafür? Würde gerne das Projekt fertig machen damit ich meinen eigenen Chat aufbauen kann. Danke!
Ich bin aktuell im VideoKurs zum Thema Flask. Problem akutell die PUT Methode updatet nur 2 der 3 Werte, alles andere Funktioniert soweit. Auch der HTTP Status wird mit OK übertragen aber der Titel der Jobs bleibt einfach immer der gleiche… ich habe schon alle Typos durch copy pase Ausgeschlossen… ist der Fehler schon mal aufgetreten? Gibt es eine commuity zu den Kursen?
Leider gibt es bei mir bei dem Versuch die db zu erstellen eine Fehlermeldung: This typically means that you attempted to use functionality that needed
the current application. To solve this, set up an application context
with app.app_context().
weit und breit kein ENV in sicht. egal was ich drücke. bei mir schaut das anders aus. hmm
Hallo Junus, super Video, vielen Dank. Leider habe ich die ein oder andere Stunde länger gebraucht um fertig zu werden. Es lag halt zB an manchen Einstellungen oder CopyPace erzeugte einen Fehler (Als ich es von Hand eingetipt habe funktionierte es) und last but not least "INTERNETAUSFALL". Es macht immer wieder Spass mit dir.
👍
ab 33:36 ist bei mir Ende, die Datenbank Erstellung funktioniert nicht, schade.
33:27 wen ich "from main import db" eingebe und danach "db.create_all()" kommt nach diesem create_all eine fehlermeldung da steht unter anderem "This typically means that you attempted to use functionality that needed
the current application. To solve this, set up an application context
with app.app_context(). See the documentation for more information."
kann jemand helfen?
Bei mir funktioniert das erstellen der Datenbank (db.create_all()) nicht an dieser stelle bekomme ich eine Fehlermeldung.
Brauche Hilfe!
Python playwright Flask auf Heroku hochgeladen. Lokal funktioniert es aber in heroku dauert der Playwright Teil des Codes für meine Web App länger als 30 Sekunden. Daher ein Feher. Laut metrics sind die Basis ram von 512 mb nicht erreicht. Was da los?
Hi, ich hänge bei der Installation der Datenbank (Minute 33:50) 'from main import db' ergibt konstant die Fehlermeldung: 'RuntimeError: Either 'SQLALCHEMY_DATABASE_URI' or 'SQLALCHEMY_BINDS' must be set.' … Alle Abhilfen aus Stackoverflow waren zwecklos.
Wo kann ich fixes dazu finden? Vielen Dank! Andreas
Für alle die Probleme beim erstellen der Datenbank haben:
folgende befehlskette nachdem man mit python eingeben in die python umgebung gelangt ist: (wichtig! auch in der kommandozeile muss der befehl db.create_all() eingerückt sein!!)
>>> from main import app, db (enter drücken)
>>> with app.app_context(): (enter drücken)
… db.create_all() (einrücken nicht vergessen! enter drücken)
… (nochmal enter drücken)
>>> (fertig)
wenn keine fehlermeldung erschienen ist dann wurde die datenbank im ordner "instance" erstellt.
Wenn es bei euch bei Minute 33:40 nicht funktioniert hat, dann versucht es mal ohne die klammern = db.create_all
Für Python/Django gilt explizit, dass DEBUG=True ein Sicherheitsproblem darstellt.
ist das auch für Flask so?
Hallo Junus,
würde man eine Lieferservice app ebenfalls mit Falsk erstellen können, sodass sie für eine größere Serverlast stabil läuft?
Statt VSCode besser PyCharm.
Lieber flask oder lieber Django?