Übung: Entwickeln einer App

Abgeschlossen

Sie erstellen Ihre Anwendung nach und nach. Währenddessen werden bestimmte Konzepte behandelt. Erstellen Sie zunächst die Landing Page Ihrer Anwendung, auf der das Formular für die Benutzer angezeigt wird.

Der Einstiegspunkt für Flask-Anwendungen ist in der Regel eine Datei namens app.py. Befolgen Sie diese Konvention, und erstellen Sie die Kernanwendung: Befolgen Sie diese Schritte:

  1. Erstellen der Kernanwendung
  2. Hinzufügen der Route zur Anwendung
  3. Erstellen der HTML-Vorlage für die Website
  4. Testen der Anwendung

Erstellen der Kernanwendung

  1. Kehren Sie zur zuvor verwendeten Visual Studio Code-Instanz zurück, und erstellen Sie eine neue Datei namens app.py, indem Sie auf der Registerkarte Explorer auf Neue Datei klicken.

    Screenshot: Dialogfeld „Neue Datei“ in Visual Studio Code

    Wichtig

    Wenn Sie im Rahmen dieser Übung zum ersten Mal eine Python-Anwendung mit Visual Studio Code erstellen, werden Sie aufgefordert, die Python-Erweiterung und den Linter pylint zu installieren. Klicken Sie auf Installieren, um diese Add-Ons zu installieren.

  2. Fügen Sie den Code zum Erstellen der Flask-Anwendung hinzu.

    from flask import Flask, redirect, url_for, request, render_template, session
    
    app = Flask(__name__)
    

Die import-Anweisung enthält Verweise auf Flask. Hierbei handelt es sich um das Kernstück jeder Flask-Anwendung. Gleich kommt auch render_template zum Einsatz, wenn der HTML-Code zurückgegeben werden soll.

app ist die Kernanwendung. Diese wird im nächsten Schritt bei der Routenregistrierung verwendet.

Hinzufügen der Route

Die Anwendung verwendet eine Route: /. Diese Route wird manchmal als Standard- oder Indexroute bezeichnet, da sie verwendet wird, wenn der Benutzer nur den Domänen- oder Servernamen angibt.

Fügen Sie am Ende von app.py den folgenden Code hinzu:

@app.route('/', methods=['GET'])
def index():
    return render_template('index.html')

Mit @app.route geben Sie die Route an, die erstellt werden soll. Der Pfad lautet / – die Standardroute. Es wird angegeben, dass diese für GET verwendet wird. Wenn eine GET-Anforderung für / eingeht, ruft Flask sofort und automatisch die unter dem Decorator deklarierte Funktion auf – in diesem Fall index. Unter index wird angegeben, dass eine HTML-Vorlage namens index.html an den Benutzer zurückgegeben wird.

Erstellen der HTML-Vorlage für das Formular

Jinja, die Vorlagen-Engine für Flask, basiert stark auf HTML. Deshalb können Sie alle bereits vorhandenen HTML-Kenntnisse und -Tools anwenden. Sie verwenden Bootstrap, um das Layout Ihrer Seite ansprechender zu gestalten. Mithilfe von Bootstrap werden verschiedene CSS-Klassen auf die HTML-Datei angewendet. Wenn Sie sich mit Bootstrap nicht auskennen, können Sie diese Klassen ignorieren und sich auf den HTML-Code konzentrieren, der der wichtigste Bestandteil ist.

Wichtig

HTML (Hypertext Markup Language) ist eine standardmäßige Markupsprache zum Erstellen von Webseiten. HTML besteht aus einer Reihe von Tags und Attributen zum Erstellen von Überschriften, Absätzen, Listen, Bildern, Links und anderen Elementen, aus denen sich eine Webseite zusammensetzt. Wenn Benutzer*innen Webseiten anfordern, lesen die Browser der Benutzer*innen den HTML-Code und rendern ihn als visuelle Webseite, mit der die Benutzer*innen interagieren können. Weitere Informationen zu HTML finden Sie in den Grundlagen zu HTML.

Flask-Vorlagen müssen in einem Ordner namens templates (Vorlagen) erstellt werden. Erstellen Sie den Ordner und die erforderliche Datei, und fügen Sie den HTML-Code hinzu.

  1. Erstellen Sie den neuen Ordner templates, indem Sie im Explorer von Visual Studio Code auf Neuer Ordner klicken.

  2. Wählen Sie den erstellten Ordner templates aus, und klicken Sie auf Neue Datei, um eine Datei zum Ordner hinzuzufügen.

  3. Benennen Sie die Datei index.html.

  4. Fügen Sie den folgenden HTML-Code hinzu:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
        <title>Translator</title>
    </head>
    <body>
        <div class="container">
            <h1>Translation service</h1>
            <div>Enter the text you wish to translate, choose the language, and click Translate!</div>
            <div>
                <form method="POST">
                    <div class="form-group">
                        <textarea name="text" cols="20" rows="10" class="form-control"></textarea>
                    </div>
                    <div class="form-group">
                        <label for="language">Language:</label>
                        <select name="language" class="form-control">
                            <option value="en">English</option>
                            <option value="it">Italian</option>
                            <option value="ja">Japanese</option>
                            <option value="ru">Russian</option>
                            <option value="de">German</option>
                        </select>
                    </div>
                    <div>
                        <button type="submit" class="btn btn-success">Translate!</button>
                    </div>
                </form>
            </div>
        </div>
    </body>
    </html>
    

Die wichtigsten Bestandteile des obigen HTML-Codes sind textarea für den Text, den der Benutzer übersetzen möchte, und die Dropdownliste select, mit der der Benutzer die Zielsprache auswählt. Wenn Sie weitere Sprachen hinzufügen möchten, sollten Sie mit dieser Liste überprüfen, ob diese unterstützt werden. Legen Sie das Attribut value auf den Sprachcode fest (z. B. pl für Polnisch).

Testen der Anwendung

Sie haben Ihre erste Website erstellt. Testen Sie diese jetzt. Mit dem in Visual Studio Code integrierten Terminal geht das am einfachsten.

  1. Öffnen Sie das integrierte Terminal, indem Sie STRG+` (oder CMD+` auf einem Mac) drücken.

  2. Führen Sie den folgenden Befehl aus, um die Flask-Runtime in den Entwicklungsmodus zu versetzen. Das bedeutet, dass der Server mit jeder Änderung automatisch neu geladen wird.

    # Windows
    set FLASK_ENV=development
    
    # Linux/macOS
    export FLASK_ENV=development
    
  3. Führen Sie die Anwendung aus!

    flask run
    
  4. Öffnen Sie die Anwendung in einem Browser, indem Sie zu http://localhost:5000 navigieren.

Dort sollte Ihr Formular angezeigt werden. Glückwunsch!

Überprüfen Sie Ihr Wissen

1.

Welche Portnummer verwendet Flask standardmäßig für die Bearbeitung von HTTP-Anforderungen?

2.

In welchem Unterverzeichnis sollten Jinja-Vorlagendateien standardmäßig gespeichert werden?