Quickstarters

Wie man ein Backend für Flask erstellt?

41min

Einführung

In diesem Tutorial lernen Sie wie man ein Backend für Flask mit Back4App erstellt.

Flask ist ein leichtgewichtiges Backend-Framework , das HTTP-Anfragen mühelos verarbeitet und effizient im Debug-Modus während der Entwicklung funktioniert.

Wir werden die Integration wesentlicher Back4App-Funktionen durchgehen – wie Datenbankverwaltung, Cloud-Code-Funktionen, REST- und GraphQL-APIs, Benutzerauthentifizierung und Echtzeitanfragen (Live Queries) – um ein sicheres, skalierbares und robustes Backend für Ihre Flask-Anwendung zu erstellen.

Sie werden auch sehen, wie die schnelle Einrichtung und die intuitive Umgebung von Back4App die Zeit und den Aufwand im Vergleich zur manuellen Konfiguration von Servern und Datenbanken drastisch reduzieren können.

Wir werden Python-Code verwenden, um Flask mit dem Back4App Parse-Server zu verbinden. Auf dem Weg dorthin werden Sie praktische Erfahrungen mit wichtigen Funktionen sammeln, einschließlich fortschrittlicher Sicherheitsmerkmale, der Planung von Aufgaben mit Cloud-Jobs und der Einrichtung von Webhooks für externe Integrationen.

Am Ende dieses Tutorials sind Sie gut vorbereitet, um dieses grundlegende Setup in eine produktionsbereite Anwendung zu erweitern oder bei Bedarf benutzerdefinierte Logik und Drittanbieter-APIs einfach zu integrieren.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie:

  • Ein Back4app-Konto und ein neues Back4app-Projekt Erste Schritte mit Back4app. Wenn Sie kein Konto haben, können Sie eines kostenlos erstellen. Befolgen Sie die obige Anleitung, um Ihr Projekt vorzubereiten.
  • Grundlegende Flask-Entwicklungsumgebung Sie können Flask über pip install flask. Stellen Sie sicher, dass Sie Python 3.7+ auf Ihrem Computer installiert haben.
  • pip install parse Dieses Python-Paket ermöglicht es Ihrer Flask-App, mit dem Parse-Server von Back4App zu interagieren.
  • Vertrautheit mit Python- und Flask-Konzepten Offizielle Flask-Dokumentation. Wenn Sie neu bei Flask sind, lesen Sie die offiziellen Dokumente oder ein Tutorial für Anfänger, bevor Sie beginnen.

Stellen Sie sicher, dass Sie alle diese Voraussetzungen erfüllt haben, bevor Sie beginnen. Ihr Back4app-Projekt eingerichtet und Ihre lokale Flask-Umgebung bereit zu haben, wird Ihnen helfen, leichter folgen zu können.

Schritt 1 – Erstellen eines neuen Projekts auf Back4App und Verbindung

Ein neues Projekt erstellen

Der erste Schritt beim Erstellen Ihres Flask-Backends auf Back4App besteht darin, ein neues Projekt zu erstellen. Wenn Sie noch keines erstellt haben, befolgen Sie diese Schritte:

  1. Melden Sie sich bei Ihrem Back4App-Konto an.
  2. Klicken Sie auf die Schaltfläche „Neue App“ in Ihrem Back4App-Dashboard.
  3. Geben Sie Ihrer App einen Namen (z. B. „Flask-Backend-Tutorial“).
Document image


Sobald das Projekt erstellt ist, wird es in Ihrem Back4app-Dashboard aufgeführt. Dieses Projekt ist die Grundlage aller Backend-Konfigurationen.

Verbinde das Parse SDK mit Flask

Back4App basiert auf der Parse-Plattform, um Ihre Daten zu verwalten, Echtzeitfunktionen bereitzustellen, die Benutzerauthentifizierung zu handhaben und mehr.

Die Verbindung Ihrer Flask-Anwendung mit Back4App umfasst die Installation des parse Python-Pakets und dessen Initialisierung mit den Anmeldeinformationen aus Ihrem Back4App-Dashboard.

Rufen Sie Ihre Parse-Schlüssel ab: Navigieren Sie in Ihrem Back4app-Dashboard zu den „App-Einstellungen“ oder dem Abschnitt „Sicherheit & Schlüssel“, um Ihre Anwendungs-ID und Client-Schlüssel (oder REST-API-Schlüssel falls erforderlich) zu finden. Sie finden auch die Parse-Server-URL (oft im Format https://parseapi.back4app.com).

Document image


Installieren Sie das Parse Python SDK in Ihrer Flask-Umgebung, indem Sie Folgendes ausführen:

Bash


Initialisieren Sie Parse in Ihrer Flask-Anwendung: Erstellen Sie eine Datei (z. B. parse_config.py) in einem Verzeichnis namens app oder wo immer Sie Ihre Backend-Module speichern:

parse_config.py


Dann, in Ihrer Haupt-Flask-App-Datei (z. B. app.py), können Sie import flask app flask-Module zusammen mit Ihrer Parse-Konfiguration importieren:

Python


Durch das Abschließen dieses Schrittes haben Sie eine sichere Verbindung zwischen Ihren Flask-Frontend-Routen und dem Back4App-Backend hergestellt. Alle Anfragen und Datenübertragungen werden sicher durch den Parse-Python-Code geleitet, wodurch die Komplexität manueller REST- oder GraphQL-Aufrufe verringert wird (obwohl Sie diese bei Bedarf weiterhin verwenden können).

Schritt 2 – Datenbank einrichten

Erstellen eines Datenmodells

Bevor wir beginnen, lassen Sie uns über die Einrichtung der Datenbank sprechen. Sie können Ihr Datenschema im Back4App-Dashboard entwerfen oder Parse es dynamisch erstellen lassen. Zum Beispiel könnten Sie eine Klasse namens „Todo“ mit Feldern wie title und isCompleted erstellen.

  1. Navigieren Sie zum Abschnitt „Datenbank“ in Ihrem Back4App-Dashboard.
  2. Erstellen Sie eine neue Klasse (z. B. „Todo“) und fügen Sie relevante Spalten hinzu, wie Titel (String) und isCompleted (Boolean).
Neue Klasse erstellen
Neue Klasse erstellen


Back4app unterstützt verschiedene Datentypen, wie String, Number, Boolean, Object, Date, File, Pointer, Array, Relation, GeoPoint, und Polygon. Sie können den geeigneten Typ für jedes Feld auswählen.

Erstellen eines Datenmodells mit dem KI-Agenten

Wenn Sie einen automatisierten Ansatz bevorzugen, können Sie auch den KI-Agenten von Back4app verwenden:

  1. Öffnen Sie den KI-Agenten von Ihrem App-Dashboard.
  2. Beschreiben Sie Ihr Datenmodell in einfacher Sprache (z.B. „Erstellen Sie eine ToDo-Klasse mit den Feldern Titel und istAbgeschlossen in Back4app.“).
  3. Lassen Sie den KI-Agenten das Schema für Sie erstellen.
Document image


Daten lesen und schreiben mit SDK

In Flask können Sie Daten erstellen und abrufen, indem Sie parse aus Ihrer parse_config.py-Initialisierung importieren:

Python


Diese Flask-App-Datei verarbeitet http-Anfragen zum Erstellen und Lesen von Todo-Elementen in Ihrer Back4App-Datenbank.

Daten lesen und schreiben mit REST API

Wenn Sie direkte REST-Aufrufe bevorzugen, können Sie mit curl von der Befehlszeile:

Bash


Daten lesen und schreiben mit GraphQL API

Ebenso bietet Back4app einen GraphQL-Endpunkt. Zum Beispiel:

GraphQL


Arbeiten mit Live-Abfragen (optional)

Wenn Sie Echtzeit-Updates, bietet Back4app Live-Abfragen. In einem Flask-Szenario würden Sie typischerweise eine separate clientseitige oder serverseitige Abonnementsbibliothek verwenden, die eine Websocket-Verbindung zum Live-Query-Server von Back4App aufrechterhalten kann.

  1. Aktivieren Sie Live-Abfragen in Ihrem Back4app-Dashboard unter den Servereinstellungen Ihrer App.
  2. Verwenden Sie einen Parse LiveQuery-Client der sich mit wss://YOUR_SUBDOMAIN_HERE.b4a.io verbindet und auf Erstellungs-/Aktualisierungs-/Löschereignisse hört.

Schritt 3 – Anwendung von Sicherheit mit ACLs und CLPs

Kurze Übersicht

Back4app bietet Zugriffskontrolllisten (ACLs) und Klassenebene-Berechtigungen (CLPs) an, um Daten zu sichern. ACLs gelten für einzelne Objekte, während CLPs für die gesamte Klasse gelten. Dies hilft Ihnen, Lese-/Schreiboperationen pro Benutzer, Rolle oder der Öffentlichkeit einzuschränken oder zuzulassen.

Document image


Einrichten von Klassenebene-Berechtigungen

  1. Gehe zu deinem Back4app Dashboard, wähle deine App aus und öffne den Datenbank-Bereich.
  2. Wähle eine Klasse aus (z.B. „Todo“).
  3. Öffne die Berechtigungen auf Klassenebene-Registerkarte.
  4. Konfiguriere deine Standardeinstellungen, wie „Benutzerauthentifizierung erforderlich“ oder „Kein Zugriff.“

Konfigurieren von ACLs im Code

Du kannst ACLs im Python-Code anwenden:

Python


Schritt 4 – Schreiben von Cloud-Code-Funktionen

Warum Cloud-Code

Cloud-Code ist perfekt, um Python-Code (oder JavaScript in anderen Szenarien) serverseitig auszuführen, sodass du deine eigene Infrastruktur nicht hosten musst. Du kannst Aufgaben wie die Validierung von Daten, die Durchführung komplexer Berechnungen oder die Integration mit externen Diensten direkt vom Parse-Server ausführen.

Beispiel-Funktion

Da die Standard-Cloud-Code-Umgebung für Back4App Node.js verwendet, würden Sie Ihren Cloud-Code in JavaScript schreiben. Sie können jedoch diese serverseitigen Skripte auch von Ihrer Flask-App aus auslösen. Zum Beispiel könnte eine Node.js-Cloud-Funktion so aussehen:

main.js


Bereitstellung

Verwenden Sie die Back4app CLI zur Bereitstellung Ihres Cloud-Codes:

Bash


Alternativ können Sie über das Back4app-Dashboard bereitstellen, indem Sie Ihren JS-Code in Cloud Code > Funktionen einfügen und auf „Bereitstellen“ klicken.

Document image


Aufrufen Ihrer Funktion

In Flask können Sie diese Cloud-Funktion über REST aufrufen:

Python


Schritt 5 – Authentifizierung konfigurieren

Benutzerauthentifizierung im Back4App-Dashboard aktivieren oder einrichten

Back4App nutzt standardmäßig die User-Klasse. Parse kümmert sich um die Passwort-Hashing, Sitzungstoken und sichere Speicherung. Sie können diese Funktionen in Ihren App-Einstellungen verwalten.

Codebeispiele

Python


Soziale Anmeldung

Back4App und Parse können mit sozialen Anbietern wie Google, Apple oder Facebook integriert werden. Die Einrichtung variiert, daher verweisen Sie auf die offiziellen Parse Social Login-Dokumente.

Schritt 6 – Dateispeicherung verwalten

Dateispeicherung einrichten

Sie können Dateien von Flask in Ihre Parse-Datenbank hochladen, indem Sie ein parse.File()-Objekt in der Node-basierten Umgebung erstellen oder direkte REST-Aufrufe von Python verwenden. Wenn Sie Referenzen auf diese Dateien in Ihren Klassen speichern, werden sie leicht abrufbar.

Python


Beispiel

Nach dem Hochladen einer Datei erhalten Sie eine Datei-URL, die Sie in Ihrer Datenbank speichern können. Sie können diese Datei dann nach Bedarf in Ihrem HTML-Template rendern oder referenzieren.

Schritt 7 – E-Mail-Verifizierung und Passwortzurücksetzung

Übersicht

Die E-Mail-Verifizierung stellt sicher, dass gültige E-Mail-Adressen vorhanden sind, und die Passwortzurücksetzung hilft Benutzern, sicher auf ihr Konto zuzugreifen.

Back4App Dashboard-Konfiguration

  1. Gehen Sie zu Ihren E-Mail-Einstellungen im Back4App-Dashboard.
  2. Aktivieren Sie die E-Mail-Verifizierung und konfigurieren Sie E-Mail-Vorlagen.
  3. Aktivieren Sie die Passwortzurücksetzung um Passwortwiederherstellungslinks an die E-Mail des Benutzers zu senden.

Code/Implementierung

Sobald aktiviert, erhält jeder neue Benutzer, der sich mit einer E-Mail anmeldet, einen Verifizierungslink. Für die Passwortzurücksetzung können Sie die integrierten Methoden von Parse über REST oder von Ihren Flask-Routen aufrufen.

Schritt 8 – Aufgaben mit Cloud-Jobs planen

Was Cloud-Jobs tun

Cloud-Jobs ermöglichen es Ihnen, Hintergrundaufgaben wie das Bereinigen von Daten oder das Senden von regelmäßigen E-Mails zu planen. Zum Beispiel können Sie alte Datensätze jeden Tag ohne Benutzerintervention löschen.

Beispiel

JS


Gehen Sie dann von Ihrem Back4App-Dashboard aus:

  1. Gehe zu App-Einstellungen > Servereinstellungen > Hintergrundjobs.
  2. Plane diesen Job, um täglich oder in deinem bevorzugten Intervall ausgeführt zu werden.
Planung eines Cloud-Jobs
Planung eines Cloud-Jobs


Schritt 9 – Integration von Webhooks

Definition

Webhooks let your Back4app app send data to external services whenever certain triggers occur. This is useful for integrations with payment gateways, Slack, analytics, or any third-party services.

Configuration

  1. Navigate to the Webhooks configuration in your Back4App dashboard > More > WebHooks.
  2. Add a new Webhook.
  3. Select the triggers for which the webhook will fire.
Adding a Webhook
Adding a Webhook


Example

If you want to notify a Slack channel whenever a new record is created in “Todo,” set the Slack webhook URL. Then, whenever a new Todo is saved, Slack will receive a POST request containing its details.

Step 10 – Exploring the Back4App Admin Panel

The Back4App Admin App provides a user-friendly interface for non-technical members of your team. It’s a model-centric interface for CRUD operations and enterprise-level tasks.

Wo man es findet

  1. Gehe zu deinem App-Dashboard.
  2. Wähle Mehr > Admin-App und aktiviere sie.
  3. Erstelle einen Admin-Benutzer und wähle eine Subdomain, um das Panel zu hosten.
Admin-App aktivieren
Admin-App aktivieren

Document image

Document image


Sobald aktiviert, kannst du dich mit deinen Admin-Anmeldeinformationen anmelden, um Daten bequemer zu verwalten – ohne benutzerdefinierte Endpunkte oder Abfragen in deinem Python-Code schreiben zu müssen.

Document image


Fazit

Durch das Befolgen dieses umfassenden Tutorials haben Sie:

  • Ein sicheres Backend für eine Flask-App auf Back4App erstellt.
  • Eine Datenbank konfiguriert mit Klassenschemas, Datentypen und Beziehungen.
  • Echtzeitabfragen integriert (Live Queries) für sofortige Datenaktualisierungen.
  • Sicherheitsmaßnahmen angewendet mit ACLs und CLPs, um den Datenzugriff zu schützen und zu verwalten.
  • Cloud-Code Funktionen implementiert, um benutzerdefinierte Geschäftslogik auf der Serverseite auszuführen.
  • Benutzerauthentifizierung eingerichtet mit Unterstützung für E-Mail-Verifizierung und Passwortzurücksetzungen.
  • Datei-Uploads verwaltet und Abrufe, mit optionalen Datei-Sicherheitskontrollen.
  • Cloud-Jobs geplant für automatisierte Hintergrundaufgaben.
  • Webhooks verwendet um mit externen Diensten zu integrieren.
  • Das Back4App Admin-Panel erkundet für die Datenverwaltung.

Mit einem soliden Flask Backend-Framework das Render-Template Dateien zurückgeben kann (wenn gewünscht) und einer robusten Back4App-Konfiguration sind Sie nun in der Lage, funktionsreiche, skalierbare und sichere Anwendungen zu entwickeln.

Sie können Ihren flask run Befehl ausführen, um den Entwicklungsserver zu starten und weiter zu programmieren.

Befehlszeilen Aufgaben werden einfach mit Methoden nach der Definition Routen, die JSON-Nutzlasten akzeptieren.

Nächste Schritte

  • Erstellen Sie eine produktionsbereite Flask-App durch Erweiterung dieses Backends, um komplexere Datenmodelle, Caching-Strategien und Leistungsoptimierungen zu behandeln.
  • Integrieren Sie erweiterte Funktionen wie spezialisierte Authentifizierungsabläufe, rollenbasierte Zugriffskontrolle oder externe APIs (wie Zahlungs-Gateways).
  • Überprüfen Sie die offizielle Dokumentation von Back4app für tiefere Einblicke in erweiterte Sicherheit, Leistungsoptimierung und Protokollanalyse.
  • Erforschen Sie andere Tutorials zu Echtzeit-Chat-Anwendungen, IoT-Dashboards oder standortbasierten Diensten. Sie können die hier erlernten Techniken mit Drittanbieter-APIs kombinieren, um komplexe, reale Anwendungen zu erstellen.