Python Flask Tutorial für Einsteiger – Erstellung von Webanwendungen in 60 Minuten

Posted by


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!

0 0 votes
Article Rating

Leave a Reply

22 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@4viertelTakt
2 days ago

Klasse Tutorial. Für mich als JAVA-Entwickler ein schneller Einstieg in Python und Webinterface. Danke.

@VickyZhang-n4b
2 days ago

Hallo Junus, total tolles Video! kannst du den Code teilen? Oder Github Link teilen? Vielen Dank!

@bayramwf7952
2 days ago

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.

@philippdecker6502
2 days ago

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?

@PhilippReinhardt-zs6li
2 days ago

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!

@Riarys
2 days ago

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?

@AndreasLepsuch
2 days ago

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().

@immobilien-makler
2 days ago

weit und breit kein ENV in sicht. egal was ich drücke. bei mir schaut das anders aus. hmm

@alfredrudolph3981
2 days ago

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.
👍

@MarkMillions-i3k
2 days ago

ab 33:36 ist bei mir Ende, die Datenbank Erstellung funktioniert nicht, schade.

@Tranekiller67
2 days ago

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?

@Max-dp4gh
2 days ago

Bei mir funktioniert das erstellen der Datenbank (db.create_all()) nicht an dieser stelle bekomme ich eine Fehlermeldung.

@treasurytalk
2 days ago

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?

@andreasexner6790
2 days ago

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

@funnybunny3705
2 days ago

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.

@alexsh6420
2 days ago

Wenn es bei euch bei Minute 33:40 nicht funktioniert hat, dann versucht es mal ohne die klammern = db.create_all

@alexsh6420
2 days ago

Für Python/Django gilt explizit, dass DEBUG=True ein Sicherheitsproblem darstellt.
ist das auch für Flask so?

@pascalpiotrowicz8605
2 days ago

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?

@Gromran1981
2 days ago

Statt VSCode besser PyCharm.

@unschuld
2 days ago

Lieber flask oder lieber Django?

22
0
Would love your thoughts, please comment.x
()
x