Einführung
Wenn Sie der Django-Entwicklungsserie gefolgt sind, haben Sie eine Django-Anwendung gestartet, Ihre Anwendung mit MySQL verbunden und die Datenbankmodelle für die Posts
und Comments
Daten in Ihrer Blog-Webanwendung erstellt.
In diesem Tutorial werden wir uns mit der Verbindung zum und der Aktivierung des Django-Admin-Bereichs befassen, damit Sie Ihre Blog-Website verwalten können. Die Django-Admin-Website wird mit einer vorinstallierten Benutzeroberfläche geliefert, die entwickelt wurde, um Ihnen und anderen vertrauenswürdigen Personen die Verwaltung des Inhalts der Website zu ermöglichen.
Es ist erwähnenswert, dass die offizielle Dokumentation von Django darauf hinweist, dass dies zwar ideal für den internen Gebrauch einer Organisation ist, es jedoch nicht empfohlen wird, eine Webanwendung um eine automatisch generierte Django-Admin-Benutzeroberfläche herum zu erstellen. Wenn Sie feststellen, dass Ihre Benutzeroberfläche mehr prozessorientiert sein muss oder sich als zu abstrakt für die Implementierungsdetails von Datenbanktabellen und -feldern erweist, ist es am besten, eigene Ansichten für die Admin-Seite zu schreiben.
Voraussetzungen
Dieses Tutorial ist Teil der Django-Entwicklungsserie und setzt diese fort.
Wenn Sie dieser Serie nicht gefolgt sind, gehen wir von folgenden Annahmen aus:
- Sie haben Django Version 4 oder höher installiert.
- Sie haben Ihre Django-App mit einer Datenbank verbunden. Wir verwenden MySQL, und Sie können diese Verbindung herstellen, indem Sie Teil zwei der Django-Serie „Wie erstellt man eine Django-App und verbindet sie mit einer Datenbank“ befolgen.
- Sie arbeiten mit einem Unix-basierten Betriebssystem, vorzugsweise einem Ubuntu 22.04 Cloud-Server, da dies das System ist, auf dem wir getestet haben. Wenn Sie Django in einer ähnlichen Umgebung einrichten möchten, lesen Sie bitte unser Tutorial „Wie installiert man Django und richten eine Entwicklungsumgebung auf Ubuntu 22.04 ein“.
Da sich dieses Tutorial hauptsächlich mit der Django-Admin-Oberfläche befasst, können Sie möglicherweise auch dann folgen, wenn Ihre Einrichtung etwas anders ist.
Schritt 1 — Aktivieren Sie den Admin
Immer wenn wir mit der Arbeit in Python und Django beginnen, sollten wir unsere Python-Virtualumgebung aktivieren und in das Stammverzeichnis unserer App wechseln. Wenn Sie der Serie gefolgt sind, können Sie dies erreichen, indem Sie Folgendes eingeben.
- cd ~/my_blog_app
- . env/bin/activate
Um das Django-Admin-Panel zu aktivieren, müssen wir sicherstellen, dass unsere App in der Liste der INSTALLED_APPS
in der Datei settings.py
enthalten ist.
Navigieren Sie zum Verzeichnis der Einstellungsdatei:
- cd ~/my_blog_app/blog/blog/
Von hier aus öffnen Sie die Datei settings.py
. Wenn es noch nicht dort ist, fügen Sie django.contrib.admin
zur Liste der INSTALLED_APPS
hinzu, indem Sie einen Texteditor wie Nano verwenden.
- nano settings.py
Der Abschnitt INSTALLED_APPS
der Datei sollte ähnlich wie die folgende Datei aussehen. Unsere App in der Liste ist die oberste, 'blogsite',
aber wenn Sie eine App mit einem anderen Namen erstellt haben, stellen Sie sicher, dass diese App in dieser Datei wie gezeigt aufgeführt ist.
...
# Anwendungsdefinition
INSTALLED_APPS = [
'blogsite',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
...
Speichern Sie die Datei unbedingt, wenn Sie Änderungen vorgenommen haben. In Nano können Sie dies tun, indem Sie STRG
und X
eingeben, dann Y
und dann ENTER
.
Wir können jetzt die Datei urls.py
erneut mit Nano oder einem anderen Texteditor öffnen.
- nano urls.py
Unter dem Kommentar oben sollte die Datei wie folgt aussehen.
…
"""
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
Wenn die Datei anders aussieht als oben, kopieren Sie die obigen Zeilen und fügen Sie sie in Ihre urls.py
-Datei ein.
Jetzt, da wir sichergestellt haben, dass unser Django-Webprojekt den entsprechenden Code in den Dateien settings.py
und urls.py
hat, wissen wir, dass unsere Anwendung Zugriff auf die Admin-Modelle und die Benutzeroberfläche des Administrators haben wird.
Schritt 2 – Überprüfen Sie, ob Admin als installierte App vorhanden ist
Als nächstes sollten wir die Modelle in die Datenbank migrieren, damit sie die neu hinzugefügten Admin-Modelle übernehmen.
Wechseln Sie zum Verzeichnis, in dem sich die Datei manage.py
befindet.
- cd ~/my_blog_app/blog
Vergessen Sie nicht, den Befehl migrate
auszuführen, wenn Sie Änderungen an den models
vornehmen, wie folgt.
- python manage.py migrate
Wenn wir keine Änderungen an den obigen Dateien vorgenommen haben, sollten wir bei Ausführung des Befehls migrate
eine Ausgabe erhalten, die der folgenden ähnelt.
OutputOperations to perform:
Apply all migrations: admin, auth, blogsite, contenttypes, sessions
Running migrations:
No migrations to apply.
Andernfalls sollte die Ausgabe darauf hinweisen, dass Django die erforderlichen Migrationen vorgenommen hat, um unsere App zu unterstützen.
Wir können den Server jetzt starten, indem wir den folgenden Befehl ausführen. Sie können 0.0.0.0
durch Ihre IP-Adresse ersetzen.
- python manage.py runserver 0.0.0.0:8000
Navigieren Sie dann im Browser Ihrer Wahl zur URL des Admin-Panels. Stellen Sie sicher, dass Sie die IP-Adresse Ihres Servers eingeben.
http://your-server-ip:8000/admin/
Sie erhalten einen Anmeldebildschirm ähnlich diesem.
Das Erreichen dieses Bildschirms zeigt uns, dass wir die Admin-App erfolgreich aktiviert haben.
Obwohl wir die App aktiviert haben, haben wir möglicherweise noch kein Django-Verwaltungskonto eingerichtet. Wir können das Admin-Konto erstellen, um im nächsten Schritt einzuloggen.
Schritt 3 — Admin-Superuser-Konto erstellen
Wenn Sie bereits ein Admin-Konto eingerichtet haben und sich auf Ihrer Admin-Seite anmelden können, können Sie diesen Schritt überspringen.
Öffnen Sie ein neues Terminal, um eine Verbindung zum Server herzustellen, oder deaktivieren Sie die Django-App, indem Sie CTRL
und C
drücken, damit wir in unserer Server-Terminalprogrammierumgebung arbeiten können.
Django ermöglicht es Ihnen, ein Superuser-Konto zu generieren, dies können wir tun, indem wir die Datei manage.py
ausführen, um den Superuser-Erstellungsprozess zu starten.
- python manage.py createsuperuser
Sobald wir dies tun, werden wir aufgefordert, Details für unseren Benutzernamen, unsere E-Mail und unser Passwort einzugeben. In diesem Tutorial erstellen wir ein Admin-Konto mit dem Benutzernamen admin_user
, der E-Mail [email protected]
und dem Passwort admin123
. Sie sollten diese Informationen nach Ihren eigenen Vorlieben ausfüllen und darauf achten, ein sicheres Passwort zu verwenden, das Sie sich merken können.
OutputUsername (leave blank to use 'root'): admin_user
Email address: [email protected]
Geben Sie dann Ihr Passwort zweimal ein, wenn Sie die Aufforderung Passwort:
sehen. Sie erhalten keine Ausgabe von den Tastenanschlägen Ihres Passworts, wenn Sie es eingeben. Drücken Sie nach jeder Aufforderung die Eingabetaste, um Ihr Passwort zu bestätigen.
OutputPassword:
Password (again):
An diesem Punkt haben wir jetzt ein Administratorkonto mit dem Benutzernamen admin_user
und dem Passwort admin123
.
Lassen Sie uns einloggen und untersuchen, was auf unserer Admin-Seite vorhanden ist.
Wenn erforderlich, führen Sie die Django-App erneut mit python manage.py runserver 0.0.0.0:8000
aus und navigieren Sie erneut zur URL http://your-server-ip:8000/admin/
, um zur Anmeldeseite des Administrators zu gelangen. Melden Sie sich dann mit dem gerade erstellten Benutzernamen und Passwort an.
Nach erfolgreicher Anmeldung erhalten Sie die folgende Seite.
Als nächstes müssen wir daran arbeiten, unsere Blog-App mit dem Admin-Panel zu verbinden.
Schritt 4 — URL-Muster für Beitrag und Kommentar erstellen
In Schritt 3 haben wir uns erfolgreich in die Administratorschnittstelle eingeloggt, aber Sie haben vielleicht bemerkt, dass unsere Blog-App dort noch nicht verfügbar ist. Um unsere Administratorschnittstelle mit der Blog-App zu bevölkern, müssen wir sie mit den zugehörigen Modellen Post
und Comment
hinzufügen und registrieren.
Dazu erstellen wir eine leere Datei namens urls.py
im Verzeichnis blogsite
, wie folgt:
- touch ~/my_blog_app/blog/blogsite/urls.py
In dieser Datei werden wir das URL-Muster für unsere Blog-Anwendung hinzufügen, damit wir darauf über die Administratorschnittstelle zugreifen können.
Navigieren Sie zum Speicherort dieser gerade erstellten urls.py
-Datei.
- cd ~/my_blog_app/blog/blogsite/
Dann öffne die Datei mit nano, zum Beispiel.
- nano urls.py
Füge die folgenden Codezeilen zur Datei hinzu.
from django.urls import path
from . import views
urlpatterns = [
path('$/', views.posts, name='posts'),
path('$/', views.comments, name='comments'),
]
Dies sind die URL-Muster-Ausdrücke, die benötigt werden, um unserer Anwendung den Zugriff auf die Ansichten
für Beiträge
und Kommentare
zu ermöglichen. Wir haben diese Ansichten
noch nicht erstellt, werden dies jedoch später in der Serie behandeln.
Schritt 5 – Verbinde die Blog-App mit dem Admin
Die Verbindung unseres Blogs mit der Administrations-Schnittstelle ermöglicht es uns, Links sowohl für die Beiträge
als auch für die Kommentare
im Administrations-Dashboard anzuzeigen. Derzeit werden im Dashboard nur Links für Gruppen
und Benutzer
angezeigt.
Um sie miteinander zu verbinden, müssen wir unsere Modelle für Beiträge
und Kommentare
in der Admin-Datei von blogsite
registrieren.
Wechsel zum Verzeichnis blogsite
:
- cd ~/my_blog_app/blog/blogsite
Dann öffne die Datei admin.py
in einem Texteditor deiner Wahl.
- nano admin.py
Die Datei wird mit einer Import-Anweisung und einem Kommentar gefüllt sein.
from django.contrib import admin
# Registriere deine Modelle hier.
Du solltest die Datei bearbeiten, damit sie den folgenden Code enthält, um unsere App zu unterstützen.
from django.contrib import admin
from blogsite.models import Post
from blogsite.models import Comment
admin.site.register(Post)
admin.site.register(Comment)
Wenn du mit der Datei zufrieden bist, speichere sie und beende sie.
Sie haben jetzt die Modelle Post
und Comment
im Admin-Panel registriert. Dadurch kann die Administratoroberfläche diese Modelle erkennen und dem Benutzer anzeigen, der im Admin-Dashboard angemeldet ist.
Schritt 6 — Überprüfen Sie, ob die Blog-App zum Admin hinzugefügt wurde
Nachdem Sie den entsprechenden Python-Code hinzugefügt haben, starten Sie den Server. Öffnen Sie http://Ihre-Server-IP:8000/admin
und melden Sie sich im Admin-Bereich mit Ihren Anmeldedaten an, wenn Sie noch nicht angemeldet sind. In diesem Tutorial haben wir uns mit dem Benutzernamen admin_user
und dem Passwort admin123
angemeldet.
Nachdem Sie sich angemeldet haben, sollten Sie die folgende Webseite erhalten. Wenn sich seitdem nichts geändert hat, müssen Sie möglicherweise Ihren Browser aktualisieren.
Dies bestätigt, dass wir unsere App blogsite
jetzt mit dem Django-Admin-Dashboard verbunden haben.
Wenn Sie mit dem Testen Ihrer App fertig sind, können Sie CTRL
+ C
drücken, um den Django-Server zu stoppen. Dadurch gelangen Sie zurück in Ihre Programmierumgebung.
Wenn Sie bereit sind, Ihre Python-Umgebung zu verlassen, können Sie das deactivate
-Befehl ausführen:
- deactivate
Das Deaktivieren Ihrer Programmierumgebung bringt Sie zurück zur Befehlszeile im Terminal.
Schlussfolgerung
In diesem Tutorial haben Sie erfolgreich die Admin-Oberfläche aktiviert, einen Admin-Login erstellt und die Modelle Post
und Comment
im Admin registriert.
Die Django-Admin-Oberfläche ist die Möglichkeit, Beiträge zu erstellen und Kommentare in Ihrem Blog zu überwachen.
In der nächsten Folge werden wir die Views
für die Blog-Anwendung erstellen.