Voraussetzungen:
Bevor Sie das Skript dieses Tutorials üben, müssen Sie die folgenden Aufgaben ausführen.
- Installieren Sie die Django-Version 3+ auf Ubuntu 20+ (vorzugsweise)
- Erstellen Sie ein Django-Projekt
- Führen Sie den Django-Server aus, um zu überprüfen, ob der Server ordnungsgemäß funktioniert oder nicht.
Richten Sie eine Django-App für Serializer ein:
Führen Sie den folgenden Befehl aus, um eine Django-App namens zu erstellen Serienapp.
$ python3 verwalten.py startapp serialappFühren Sie den folgenden Befehl aus, um den Benutzer für den Zugriff auf die Django-Datenbank zu erstellen. Wenn Sie den Benutzer zuvor erstellt haben, müssen Sie den Befehl nicht ausführen.
$ python3 verwalten.py erstelltsuperuserFühren Sie den folgenden Befehl aus, um das Django REST Framework zu installieren.
$ pip3 djangorestframework installierenFügen Sie das rest_framework und den App-Namen im . hinzu INSTALLED_APP Teil von dem die Einstellungen.py Datei.
INSTALLED_APPS = [… .
'rest_framework',
'serielle App'
]
Erstellen Sie ein Modell für die Datenbanktabelle:
Öffne das Modelle.py Datei aus dem Serienapp Ordner und fügen Sie das folgende Skript hinzu, um die Struktur von . zu definieren Kunden Tabellen. Kunde Klasse ist definiert, um eine Tabelle namens table zu erstellen Kunden mit Name, Adresse, E-Mail, Kontakt_no, und erstellt Felder. Hier, Name, E-Mail, und contact_no Felder speichern Charakterdaten, die Adresse Feld speichert die Textdaten, und erstellt Feld speichert die DateTime-Daten.
Modelle.py
# Importieren Sie das Modellmodulvon django.DB-Importmodelle
# Definieren Sie die Modellklasse für die Kundentabelle
Klasse Kunde (Modelle.Modell):
Name = Modelle.CharField(max_length=100)
Adresse = Modelle.Textfeld()
E-Mail = Modelle.CharField(max_length=50)
contact_no = Modelle.CharField(max_length=20)
erstellt = Modelle.DateTimeField(auto_now_add=True)
Führen Sie die machenmigrationen Befehl zum Erstellen einer neuen Migration basierend auf den von den Modellen vorgenommenen Änderungen.
$ python3 verwalten.py makemigrations serialappFühren Sie die Wandern Befehl, um die SQL-Befehle auszuführen und alle Tabellen in der Datenbank zu erstellen, die im Modelle.py Datei.
$ python3 verwalten.py migrierenÄndern Sie den Inhalt der Administrator.py Datei mit folgendem Inhalt. Hier, der Kunde Klasse der Modelle wird registriert mit das Register() Methode zum Anzeigen der Kunden Tabellen im Django-Administrations-Dashboard.
Administrator.py
# Admin-Modul importierenvon django.contrib import admin
# Importieren Sie das Kundenmodell
von .Modelle importieren Kunde
# Registrieren Sie das Kundenmodell
Administrator.Seite? ˅.registrieren (Kunde)
URLs.py
von django.URL-Importpfadvon django.contrib import admin
URLmuster = [
# Definiere den Pfad für admin
path('admin/', admin.Seite? ˅.URLs),
]
Fügen Sie Datensätze in die Tabelle ein:
Öffnen Sie die Django-Administrationsseite und fügen Sie einige Datensätze in die Kunden Tabelle, die dem Browser im JSON-Format angezeigt wird. Hier wurden drei Datensätze eingefügt.
Ändern Sie die Ansichten.py:
Öffne das Ansichten.py Datei aus dem Serienapp und ersetze den Inhalt durch das folgende Skript. Kundenliste -Klasse ist definiert, um alle Datensätze der Kunden zu serialisieren und die Daten im JSON-Format an den Browser zurückzugeben. Kundendetails -Klasse ist definiert, um den jeweiligen Kundendatensatz basierend auf dem ID-Wert zu serialisieren und die Browserdaten im JSON-Format zurückzugeben. KundeSerializer ist eine Serializer-Datei, die im nächsten Teil dieses Tutorials erstellt wurde.
Ansichten.py
# Importieren von Generika aus dem Django REST Frameworkaus rest_framework Generika importieren
# Kundenmodell importieren
von .Modelle importieren Kunde
# Importieren Sie CustomerSerializer von Serializern
von .Serializer importieren CustomerSerializer
# Klasse definieren, um alle Datensätze der Kundentabelle in JSON zu konvertieren
Klasse CustomerList(Generika.ListCreateAPIView):
Abfragemenge = Kunde.Objekte.alle()
serializer_class = CustomerSerializer
# Klasse definieren, um den jeweiligen Datensatz der Kundentabelle in JSON zu konvertieren
Klasse CustomerDetail (Generika).AbrufenUpdateDestroyAPIView):
Abfragemenge = Kunde.Objekte.alle()
serializer_class = CustomerSerializer
Serializer erstellen:
Erstellen Serialisierer.py Datei am selben Speicherort der Ansichten.py Datei mit folgendem Skript. ModellSerializer Klasse wird hier verwendet, um zu erstellen KundeSerializer Klasse, die die Serializer-Klasse mit den Feldern des Kundenmodells zurückgibt. Die Felder des Kundenmodells, die in das JSON-Format konvertiert werden, sind in der Meta Klasse.
Serialisierer.py
# Serializer-Modul aus Django REST Framework importierenfrom rest_framework import serializers
# Kundenmodell importieren
von .Modelle importieren Kunde
# Definieren Sie die benutzerdefinierte Serializer-Klasse, um die Felder des Kundenmodells in JSON zu konvertieren
Klasse CustomerSerializer (Serializer.ModellSerializer):
Klasse Meta:
Modell = Kunde
Felder = ('id', 'name', 'address', 'email', 'contact_no')
Ändern Sie die URLs.py-Datei:
Ändern Sie den Inhalt der URLs.py Datei mit folgendem Skript. Im Skript wird das 'Kunden/' Pfad ist definiert, um alle Datensätze der Kunden Tabelle im JSON-Format und die 'Kunden/
URLs.py
# Admin-Modul importierenvon django.contrib import admin
# Pfad importieren und Modul einbinden
von django.URL-Importpfad
# Importieren Sie die Ansichten
aus SerialApp-Importansichten
# Importieren von format_suffix_patterns aus Django REST Framework
von rest_framework.URLmuster importieren format_suffix_patterns
URLmuster = [
# Definiere den Pfad für admin
path('admin/', admin.Seite? ˅.URLs),
# Definieren Sie den Pfad, um alle Kundendaten im JSON-Format zu erhalten
path('Kunden/', Aufrufe.Kundenliste.as_view()),
# Definieren Sie den Pfad, um die jeweiligen Kundendaten basierend auf der ID im JSON-Format zu erhalten
path('Kunden//', Aufrufe.Kundendetails.as_view()),
]
urlpatterns = format_suffix_patterns (urlpatterns)
Alle Datensätze der Kundentabelle werden im JSON-Format angezeigt, wenn die folgende URL ausgeführt wird.
http://localhost:8000/customers
Der Datensatz des zweiten Kunden wird im JSON-Format angezeigt, wenn die folgende URL ausgeführt wird.
http://localhost:8000/customers/2
Fazit:
Die Verwendung von Serializern in der Django-Anwendung zum Konvertieren der Modellinstanz in das JSON-Format wurde in diesem Tutorial mithilfe eines einfachen Skripts gezeigt. Die Django-Benutzer werden den Zweck der Verwendung von Serializern verstehen und sie bei Bedarf in ihrer Anwendung anwenden, nachdem sie dieses Tutorial gelesen haben.