Kapitel 17. Einsatz

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Der Webentwicklungsserver, der mit Flask ausgeliefert wird, ist nicht robust, sicher oder effizient genug, um in einer Produktionsumgebung zu funktionieren. In diesem Kapitel werden die Optionen für den Produktionseinsatz von Flask-Anwendungen untersucht.

Arbeitsablauf bei der Bereitstellung

Unabhängig von der verwendeten Hosting-Methode gibt es eine Reihe von Aufgaben, die durchgeführt werden müssen, wenn die Anwendung auf einem Produktionsserver installiert wird. Dazu gehört die Erstellung oder Aktualisierung der Datenbanktabellen.

Diese Aufgaben jedes Mal manuell auszuführen, wenn die Anwendung installiert oder aktualisiert wird, ist fehleranfällig und zeitaufwändig. Stattdessen kann ein Befehl, der alle erforderlichen Aufgaben ausführt, zu flasky.py hinzugefügt werden.

Beispiel 17-1 zeigt eine deploy Befehlsimplementierung, die für Flasky geeignet ist.

Beispiel 17-1. flasky.py: Einsatzbefehl
from flask_migrate import upgrade
from app.models import Role, User

@manager.command
def deploy():
    """Run deployment tasks."""
    # migrate database to latest revision
    upgrade()

    # create or update user roles
    Role.insert_roles()

    # ensure all users are following themselves
    User.add_self_follows()

Die Funktionen, die dieser Befehl aufruft, wurden alle vorher erstellt; sie werden nur alle zusammen von einem einzigen Befehl aufgerufen, um die ...

Get Flask Web Development, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.