So aktivieren und verbinden Sie die Django Admin-Oberfläche

Einführung

Bisher haben Sie in dieser Django-Reihe eine Django-Anwendung gestartet, Ihre Anwendung mit MySQL verbunden und die Datenbankmodelle für die Daten "+ Posts " und " Comments +" in Ihrer Blog-Webanwendung erstellt.

In diesem Tutorial stellen wir eine Verbindung zur Django admin site her und aktivieren diese, damit Sie Ihre Blog-Website verwalten können. Die Django-Administrations-Website ist bereits mit einer Benutzeroberfläche ausgestattet, mit der Sie und andere vertrauenswürdige Personen Inhalte für die Website verwalten können.

Es ist erwähnenswert, dass in der offiziellen Dokumentation von Django darauf hingewiesen wird, dass dies zwar ideal für den internen Gebrauch einer Organisation ist, es jedoch nicht empfohlen wird, eine Webanwendung um eine automatisch generierte Django-Administrationsoberfläche herum zu erstellen. Wenn Sie feststellen, dass Ihre Benutzeroberfläche prozessorientierter sein muss oder die Implementierungsdetails von Datenbanktabellen und -feldern abstrahieren soll, sollten Sie Ihre eigenen Ansichten für die Administratorseite erstellen.

Voraussetzungen

Dieses Tutorial ist Teil der Reihe Django Development.

Schritt 1 - Aktivieren Sie den Admin

Aktivieren Sie zuerst Ihre virtuelle Python-Umgebung:

cd ~/my_blog_app
. env/bin/activate

Um den Django Admin zu aktivieren, müssen wir ihn der Liste von "+ INSTALLED_APPS " in der Datei " settings.py +" hinzufügen.

Navigieren Sie zum Verzeichnis der Einstellungsdatei:

cd ~/my_blog_app/blog/blog/

Öffnen Sie von hier aus die Datei + settings.py +. Wenn es noch nicht vorhanden ist, fügen Sie "+ django.contrib.admin " mit einem Texteditor wie "nano" zur Liste von " INSTALLED_APPS +" hinzu.

nano settings.py

Der Abschnitt "+ INSTALLED_APPS +" der Datei sollte folgendermaßen aussehen:

settings.py

...
# Application definition
INSTALLED_APPS = [
   'blogsite',
   'django.contrib.admin',
   'django.contrib.auth',
   'django.contrib.contenttypes',
   'django.contrib.sessions',
   'django.contrib.messages',
   'django.contrib.staticfiles',
]
...

Vergessen Sie nicht, die Datei zu speichern und zu schließen, wenn Sie Änderungen vorgenommen haben.

Wir können jetzt die Datei + urls.py + wieder mit nano oder einem anderen Texteditor öffnen.

nano urls.py

Die Datei sieht folgendermaßen aus:

urls.py

...
from django.urls import path
from django.contrib import admin
urlpatterns = [
   path('admin/', admin.site.urls),
]

Seit dem release of Django 2.0 ist das neue https://docs.djangoproject.com/en/2.0/topics/http/urls/ [ Die Funktion django.url.path ()] ist eine Verbesserung der alten Methode zum Erstellen von URL-Mustern mit der Funktion + url () +. Die Funktion + path () + ermöglicht eine einfachere, besser lesbare URL-Routingsyntax.

Hier ist ein Beispiel, das dies veranschaulicht. Die vorherige Funktion + url () +, hier dargestellt:

url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive),

Kann jetzt mit der Funktion + path () + geschrieben werden:

path('articles/<int:year>/', views.year_archive),

Die neue Syntax unterstützt auch das Erzwingen von URL-Parametern. Das Year-Schlüsselwort des obigen Beispiels wird dann als "+ int " und nicht als " string +" interpretiert.

Nachdem wir sichergestellt haben, dass unser Django-Webprojekt den entsprechenden Code in den Dateien "+ settings.py " und " urls.py +" enthält, wissen wir, dass unsere Anwendung Zugriff auf die Admin-Modelle und die Admin-Benutzeroberfläche hat.

Schritt 2 - Stellen Sie sicher, dass Admin eine installierte App ist

Als nächstes sollten wir die Modelle in die Datenbank migrieren, damit diese die neu hinzugefügten Admin-Modelle aufnimmt.

Navigieren Sie zu dem Verzeichnis, in dem sich die Datei + manage.py + befindet.

cd ~/my_blog_app/blog

Denken Sie daran, den Befehl "+ migrate" auszuführen, wenn Sie Änderungen an den "+ models i" vornehmen.

python manage.py migrate

Beim Ausführen des Befehls hätten wir die folgende Ausgabe erhalten müssen, da das "+ admin " - Modell bereits hinzugefügt wurde, wie wir beim Navigieren zu den " INSTALLED_APPS " - Abschnitten der " settings.py +" - Datei gesehen haben.

OutputOperations to perform:
 Apply all migrations: admin, auth, blogsite, contenttypes, sessions
Running migrations:
 No migrations to apply.

Sie können den Server jetzt starten, indem Sie den folgenden Befehl mit der IP-Adresse Ihres Servers ausführen.

python manage.py runserver :8000

Navigieren Sie dann in einem Browser Ihrer Wahl zur Admin-Panel-URL:

http://:8000/admin/

Sie werden etwas Ähnliches sehen.

Wenn Sie zu diesem Bildschirm gelangen, wird angezeigt, dass wir die Admin-App erfolgreich aktiviert haben.

Obwohl wir die App aktiviert haben, verfügen wir derzeit nicht über ein Django-Administratorkonto. Wir müssen das Admin-Konto erstellen, um uns anzumelden.

Schritt 3 - Admin Super-User Account erstellen

Sie werden feststellen, dass eine Anmeldeseite angezeigt wird, wir haben jedoch keine Anmeldeinformationen, um uns anzumelden. Das Erstellen dieser Anmeldeinformationen ist einfach.

Django bietet eine einfache Möglichkeit, ein Super-User-Konto zu erstellen. Führen Sie dazu die Datei + manage.py + aus, um den Super-User-Erstellungsprozess zu starten:

python manage.py createsuperuser

Sobald wir dies tun, werden wir aufgefordert, Details für unseren Benutzernamen, unsere E-Mail-Adresse und unser Passwort einzugeben. In diesem Tutorial erstellen wir ein Administratorkonto mit dem Benutzernamen "", der E-Mail "" und dem Kennwort "++". Sie sollten diese Informationen mit Ihren eigenen Einstellungen ausfüllen und ein sicheres Passwort verwenden, an das Sie sich erinnern werden.

OutputUsername (leave blank to use 'root'):
Email address:

Geben Sie dann Ihr Passwort zweimal ein, wenn Sie die Eingabeaufforderung + Passwort: + sehen. Sie sehen weder die Tastenanschläge noch Ihr Passwort, wenn Sie es eingeben. Drücken Sie nach jeder Aufforderung die Eingabetaste, um Ihr Passwort zu bestätigen.

OutputPassword:
Password (again):

Zu diesem Zeitpunkt haben wir jetzt ein Administratorkonto mit dem Benutzernamen "" und dem Passwort "".

Melden Sie sich an und schauen Sie sich an, was auf unserer Admin-Seite vorhanden ist. + Navigieren Sie bei Bedarf erneut zu der URL "+ http: //: 8000 / admin / +", um zur Anmeldeseite für Administratoren zu gelangen. Melden Sie sich dann mit dem gerade erstellten Benutzernamen, Passwort und Passwort an.

Nach einer erfolgreichen Anmeldung wird die folgende Seite angezeigt.

Als Nächstes müssen wir daran arbeiten, unsere Blog-App mit dem Admin-Panel zu verbinden.

Im vorherigen Schritt haben wir uns erfolgreich bei der Administrationsoberfläche angemeldet. Möglicherweise haben Sie jedoch bemerkt, dass unsere Blog-App dort immer noch nicht sichtbar ist. Jetzt müssen wir das ändern, indem wir Ihre Blog-App mit den zugehörigen Modellen "+ Posts" und "+ Comments" hinzufügen und registrieren.

Dazu erstellen wir eine leere Datei mit dem Namen "+ urls.py " im Verzeichnis " blogsite +" wie folgt:

touch ~/my_blog_app/blog/blogsite/urls.py

In dieser Datei fügen wir das URL-Muster für unsere Blog-Anwendung hinzu, damit wir über die Administrationsoberfläche darauf zugreifen können.

Navigieren Sie zum Speicherort der soeben erstellten Datei "+ urls.py".

cd ~/my_blog_app/blog/blogsite/

Öffnen Sie die Datei dann zum Beispiel mit nano.

nano urls.py

Fügen Sie der Datei die folgenden Codezeilen hinzu.

urls.py

from django.urls import path
from . import views
urlpatterns = [
   path('$/', views.posts, name='posts'),
   path('$/', views.comments, name='comments'),
]

Dies sind die URL-Musterausdrücke, die erforderlich sind, damit Ihre Anwendung auf die "" - Ansichten für "" und "" zugreifen kann. Wir haben diese " views +" noch nicht erstellt, werden dies aber später in der Serie behandeln.

Schritt 5 - Verbinden Sie die Blog-App mit dem Administrator

Durch die Verbindung unseres Blogs mit dem Administrator können wir Links für "+ Posts " und " Comments " im Administrator-Dashboard anzeigen. Wie wir bereits gesehen haben, werden im Dashboard derzeit nur Links für " Groups" und "+ User N" angezeigt.

Dazu müssen wir Ihre Modelle "+ Posts" und "+ Comments On" in der Admin-Datei von "+ blogsite" registrieren.

Navigieren Sie zum Verzeichnis + blogsite +:

cd ~/my_blog_app/blog/blogsite

Dann erstellen Sie die Datei + admin.py +:

touch admin.py

Öffnen Sie anschließend die Datei:

nano admin.py

Bearbeiten Sie die Datei so, dass sie den folgenden Code enthält.

admin.py

from django.contrib import admin
from blogsite.models import Post
from blogsite.models import Comment


admin.site.register(Post)
admin.site.register(Comment)

Speichern und schließen Sie die Datei.

Sie haben jetzt die Modelle "+ Post" und "+ Comment" im Admin-Bereich registriert. Auf diese Weise kann die Administrationsoberfläche diese Modelle abrufen und sie dem Benutzer anzeigen, der angemeldet ist und das Administrations-Dashboard anzeigt.

Schritt 6 - Vergewissern Sie sich, dass die Blog-App dem Administrator hinzugefügt wurde

Nachdem Sie den entsprechenden Python-Code hinzugefügt haben, führen Sie den Server aus. Öffnen Sie "+ http: //: 8000 / admin +" und melden Sie sich mit Ihren Anmeldeinformationen beim Administrator an, wenn Sie noch nicht angemeldet sind. In diesem Tutorial haben wir uns mit dem Benutzernamen "" und dem Passwort "" angemeldet.

Nachdem Sie sich angemeldet haben, sollte beim Ausführen des Servers die folgende Webseite angezeigt werden.

Dies zeigt, dass wir unsere App "+ blogsite +" jetzt mit dem Django-Administrator-Dashboard verbunden haben.

Wenn Sie mit dem Testen Ihrer App fertig sind, können Sie die Tastenkombination "+ STRG" + "+ C " drücken, um den Befehl " runserver" zu beenden. Dadurch kehren Sie zu Ihrer Programmierumgebung zurück.

Wenn Sie bereit sind, Ihre Python-Umgebung zu verlassen, können Sie den Befehl + disable + ausführen:

deactivate

Wenn Sie Ihre Programmierumgebung deaktivieren, kehren Sie zur Eingabeaufforderung des Terminals zurück.

Fazit

In diesem Tutorial haben Sie die Admin-Oberfläche erfolgreich aktiviert, ein Admin-Login erstellt und die Modelle "+ Post " und " Comment +" beim Admin registriert.

Über die Django-Administrationsoberfläche können Sie Posts erstellen und Kommentare mit Ihrem Blog überwachen.

Als nächstes werden wir die "+ views +" für die Blog-Anwendung erstellen.