Wie man ein Backend für Flask erstellt?
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.
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.
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:
- Melden Sie sich bei Ihrem Back4App-Konto an.
- Klicken Sie auf die Schaltfläche „Neue App“ in Ihrem Back4App-Dashboard.
- Geben Sie Ihrer App einen Namen (z. B. „Flask-Backend-Tutorial“).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
Sobald das Projekt erstellt ist, wird es in Ihrem Back4app-Dashboard aufgeführt. Dieses Projekt ist die Grundlage aller Backend-Konfigurationen.
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 Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/F9teHXd_M8ERn1OPGirbi_image.png?format=webp)
Installieren Sie das Parse Python SDK in Ihrer Flask-Umgebung, indem Sie Folgendes ausführen:
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:
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:
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).
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.
- Navigieren Sie zum Abschnitt „Datenbank“ in Ihrem Back4App-Dashboard.
- 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](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
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.
Wenn Sie einen automatisierten Ansatz bevorzugen, können Sie auch den KI-Agenten von Back4app verwenden:
- Öffnen Sie den KI-Agenten von Ihrem App-Dashboard.
- Beschreiben Sie Ihr Datenmodell in einfacher Sprache (z.B. „Erstellen Sie eine ToDo-Klasse mit den Feldern Titel und istAbgeschlossen in Back4app.“).
- Lassen Sie den KI-Agenten das Schema für Sie erstellen.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
In Flask können Sie Daten erstellen und abrufen, indem Sie parse aus Ihrer parse_config.py-Initialisierung importieren:
Diese Flask-App-Datei verarbeitet http-Anfragen zum Erstellen und Lesen von Todo-Elementen in Ihrer Back4App-Datenbank.
Wenn Sie direkte REST-Aufrufe bevorzugen, können Sie mit curl von der Befehlszeile:
Ebenso bietet Back4app einen GraphQL-Endpunkt. Zum Beispiel:
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.
- Aktivieren Sie Live-Abfragen in Ihrem Back4app-Dashboard unter den Servereinstellungen Ihrer App.
- Verwenden Sie einen Parse LiveQuery-Client der sich mit wss://YOUR_SUBDOMAIN_HERE.b4a.io verbindet und auf Erstellungs-/Aktualisierungs-/Löschereignisse hört.
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 Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
- Gehe zu deinem Back4app Dashboard, wähle deine App aus und öffne den Datenbank-Bereich.
- Wähle eine Klasse aus (z.B. „Todo“).
- Öffne die Berechtigungen auf Klassenebene-Registerkarte.
- Konfiguriere deine Standardeinstellungen, wie „Benutzerauthentifizierung erforderlich“ oder „Kein Zugriff.“
Du kannst ACLs im Python-Code anwenden:
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.
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:
Verwenden Sie die Back4app CLI zur Bereitstellung Ihres Cloud-Codes:
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 Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/pGxBQFBhk4prMc8Ub-uho_image.png?format=webp)
In Flask können Sie diese Cloud-Funktion über REST aufrufen:
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.
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.
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.
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.
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.
- Gehen Sie zu Ihren E-Mail-Einstellungen im Back4App-Dashboard.
- Aktivieren Sie die E-Mail-Verifizierung und konfigurieren Sie E-Mail-Vorlagen.
- Aktivieren Sie die Passwortzurücksetzung um Passwortwiederherstellungslinks an die E-Mail des Benutzers zu senden.
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.
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.
Gehen Sie dann von Ihrem Back4App-Dashboard aus:
- Gehe zu App-Einstellungen > Servereinstellungen > Hintergrundjobs.
- Plane diesen Job, um täglich oder in deinem bevorzugten Intervall ausgeführt zu werden.
![Planung eines Cloud-Jobs Planung eines Cloud-Jobs](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5wG60YnWIST74erryTb-u_image.png?format=webp)
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.
- Navigate to the Webhooks configuration in your Back4App dashboard > More > WebHooks.
- Add a new Webhook.
- Select the triggers for which the webhook will fire.
![Adding a Webhook Adding a Webhook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
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.
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.
- Gehe zu deinem App-Dashboard.
- Wähle Mehr > Admin-App und aktiviere sie.
- Erstelle einen Admin-Benutzer und wähle eine Subdomain, um das Panel zu hosten.
![Admin-App aktivieren Admin-App aktivieren](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/u-pU1yBJJxa9KEM2psjXS_image.png?format=webp)
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/_2b71RLDTlQW468017saY_image.png?format=webp)
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 Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/jOFU8C0qiFm6wiVZXS9l0_image.png?format=webp)
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.
- 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.
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)