Einführung
Django ist ein kostenloses und Open-Source-Webframework, das in Python geschrieben wurde und dessen Kernprinzipien Skalierbarkeit, Wiederverwendbarkeit und schnelle Entwicklung sind. Es ist auch für seine Rahmenkonsistenz und lose Kopplung bekannt, was es ermöglicht, dass einzelne Komponenten unabhängig voneinander sind.
In diesem Tutorial werden Sie eine Django-Umgebung für Entwicklungszwecke auf einem Ubuntu 22.04-Server einrichten. Für eine Live-Website gibt es zusätzliche Überlegungen, einschließlich der Verbindung zu einer Datenbank, der Einrichtung eines Domainnamens und dem Hinzufügen von Sicherheitsebenen. Es gibt eine Vielzahl von Tutorials zu Django, die Ihnen beim Aufbau unter dem Django-Tag unterstützen können.
Voraussetzungen
Um dieses Tutorial abzuschließen, benötigen Sie:
-
Ein nicht-root Benutzerkonto mit
sudo
-Berechtigungen, das Sie durch das Folgen und Abschließen des initialen Server-Setups für Ubuntu 22.04-Tutorials erreichen können. -
Python 3 Einrichtung mit einer virtuellen Programmierumgebung. Diese Einrichtung können Sie über den Python 3 Installationsleitfaden erhalten.
Schritt 1 — Django installieren
Es gibt mehrere Möglichkeiten, Django zu installieren, den Python-Paketmanager pip innerhalb einer virtuellen Umgebung verwenden.
Während Sie sich im Home-Verzeichnis des Servers befinden, erstellen Sie das Verzeichnis, das Ihre Django-Anwendung enthalten wird. Führen Sie den folgenden Befehl aus, um ein Verzeichnis namens django-apps
oder einen anderen Namen Ihrer Wahl zu erstellen. Navigieren Sie dann zum Verzeichnis.
Während Sie sich im Verzeichnis django-apps
befinden, erstellen Sie Ihre virtuelle Umgebung. Sie nennen sie generisch env
, aber Sie sollten einen Namen verwenden, der für Sie und Ihr Projekt aussagekräftig ist.
Aktivieren Sie nun die virtuelle Umgebung mit dem folgenden Befehl:
Sie werden wissen, dass es aktiviert ist, sobald das Präfix zu (env)
geändert wird, was je nach Verzeichnis, in dem Sie sich befinden, ähnlich wie folgt aussieht:
Innerhalb der Umgebung installieren Sie das Django-Paket mit pip. Die Installation von Django ermöglicht es uns, Django-Anwendungen zu erstellen und auszuführen.
Nach der Installation überprüfen Sie Ihre Django-Installation, indem Sie eine Versionsüberprüfung durchführen:
Dies oder etwas Ähnliches wird die resultierende Ausgabe sein:
Output4.0.6
Mit Django auf Ihrem Server installiert, können Sie nun mit der Erstellung eines Testprojekts fortfahren, um sicherzustellen, dass alles korrekt funktioniert. Sie werden eine Grundstruktur für eine Webanwendung erstellen.
Schritt 2 – Anpassen der Firewall-Einstellungen
Wenn Sie dem Tutorial zur Initialisierung des Servers gefolgt sind oder eine Firewall auf Ihrem Server ausführen, müssen Sie den Port, den Sie in der Firewall Ihres Servers verwenden werden, öffnen. Für die UFW-Firewall können Sie den Port mit dem folgenden Befehl öffnen:
Wenn Sie DigitalOcean Firewalls verwenden, können Sie HTTP aus den eingehenden Regeln auswählen. Sie können mehr über DigitalOcean Firewalls und das Erstellen von Regeln für sie erfahren, indem Sie die eingehenden Regeln modifizieren.
Schritt 3 – Projektstart
Sie können nun eine Anwendung mithilfe von django-admin
erstellen, einem Befehlszeilen-Dienstprogramm für Verwaltungsaufgaben in Python. Anschließend können Sie den Befehl startproject
verwenden, um die Verzeichnisstruktur des Projekts für Ihre Testwebsite zu erstellen.
Während Sie sich im Verzeichnis django-apps
befinden, führen Sie den folgenden Befehl aus:
Hinweis: Durch Ausführen des Befehls django-admin startproject <projectname>
wird sowohl das Projektverzeichnis als auch das Projekt-Paket als <projectname>
benannt und das Projekt im Verzeichnis erstellt, in dem der Befehl ausgeführt wurde. Wenn der optionale Parameter <destination>
angegeben wird, verwendet Django das bereitgestellte Zielverzeichnis als Projektverzeichnis und erstellt manage.py
und das Projekt-Paket darin.
Jetzt können Sie überprüfen, welche Projektdateien gerade erstellt wurden. Navigieren Sie zum Verzeichnis testsite
und listen Sie den Inhalt dieses Verzeichnisses auf, um zu sehen, welche Dateien erstellt wurden:
Outputmanage.py testsite
Sie werden feststellen, dass das Verzeichnis eine Datei namens manage.py
und einen Ordner namens testsite
enthält. Die Datei manage.py
ähnelt django-admin
und fügt das Paket des Projekts zum sys.path
hinzu. Dies setzt auch die Umgebungsvariable DJANGO_SETTINGS_MODULE
so, dass sie auf die Datei settings.py
Ihres Projekts zeigt.
Sie können das Skript manage.py
in Ihrem Terminal anzeigen, indem Sie das less
-Befehl wie folgt ausführen:
Wenn Sie mit dem Lesen des Skripts fertig sind, drücken Sie q
, um die Datei anzuzeigen.
Navigieren Sie jetzt zum Verzeichnis testsite
, um die anderen erstellten Dateien anzuzeigen:
Führen Sie dann den folgenden Befehl aus, um den Inhalt des Verzeichnisses aufzulisten:
Sie werden vier Dateien sehen:
Output__init__.py asgi.py settings.py urls.py wsgi.py
Sie können überprüfen, um was es sich bei jeder dieser Dateien handelt:
__init__.py
fungiert als Einstiegspunkt für Ihr Python-Projekt.asgi.py
enthält die Konfiguration für die optionale Bereitstellung des Asynchronous Server Gateway Interface oder ASGI, das einen Standard für Apps darstellt, die entweder synchron oder asynchron sind, und als Nachfolger von WSGI gilt (siehe unten).settings.py
beschreibt die Konfiguration Ihrer Django-Installation und informiert Django über verfügbare Einstellungen.urls.py
enthält eineurlpatterns
-Liste, die URLs auf ihreviews
routet und abbildet.wsgi.py
enthält die Konfiguration für das Webserver-Gateway-Interface oder WSGI, das einen Standard für synchrone Python-Apps bereitstellt.
Hinweis: Obwohl Standarddateien generiert werden, haben Sie immer noch die Möglichkeit, die Dateien asgi.py
oder wsgi.py
jederzeit anzupassen, um Ihren Bereitstellungsanforderungen gerecht zu werden.
Schritt 4 — Konfigurieren von Django
Jetzt können Sie den Server starten und die Website auf einem festgelegten Host und Port anzeigen, indem Sie das runserver
-Befehl ausführen.
Sie müssen Ihre Server-IP-Adresse zur Liste der ALLOWED_HOSTS
in der Datei settings.py
hinzufügen, die sich in ~/test_django_app/testsite/testsite/
befindet.
Wie in den Django-Dokumenten angegeben, enthält die Variable ALLOWED_HOSTS
„eine Liste von Zeichenfolgen, die die Host-/Domänennamen repräsentieren, die diese Django-Site bedienen kann. Dies ist eine Sicherheitsmaßnahme, um HTTP-Host-Header-Angriffe zu verhindern, die auch unter vielen scheinbar sicheren Webserver-Konfigurationen möglich sind.“
Sie können Ihren IP-Adressen mit Ihrem bevorzugten Texteditor hinzufügen. Wenn Sie beispielsweise nano
verwenden, führen Sie den folgenden Befehl aus:
Sobald Sie den Befehl ausgeführt haben, möchten Sie zum Abschnitt ALLOWED_HOSTS
des Dokuments navigieren und die IP-Adresse Ihres Servers innerhalb der eckigen Klammern in einfachen oder doppelten Anführungszeichen hinzufügen.
Sie können die Änderung speichern und Nano verlassen, indem Sie die STRG
+ x
Tasten gedrückt halten und dann die y
Taste drücken. Als nächstes werden Sie Ihre Web-App über einen Browser aufrufen.
Zuletzt erstellen Sie einen Administrationsbenutzer, damit Sie die Django-Admin-Oberfläche verwenden können. Dies kann mit dem createsuperuser
Befehl erfolgen:
Sie werden nach einem Benutzernamen, einer E-Mail-Adresse und einem Passwort für Ihren Benutzer gefragt.
Schritt 5 – Zugriff auf die Django-Webanwendung
Mit Ihrer Konfiguration abgeschlossen, stellen Sie sicher, dass Sie zum Verzeichnis zurücknavigieren, in dem sich manage.py
befindet:
Führen Sie nun den folgenden Befehl aus und ersetzen Sie den Text Ihr-Server-IP durch die IP Ihres Servers:
Endlich können Sie über den folgenden Link navigieren, um zu sehen, wie Ihre Skelettwebsite aussieht, wobei Sie den markierten Text durch die tatsächliche IP Ihres Servers ersetzen:
http://your-server-ip:8000/
Sobald die Seite geladen ist, sehen Sie Folgendes:
Dies bestätigt, dass Django ordnungsgemäß installiert wurde und Ihr Testprojekt korrekt funktioniert.
Um auf die Admin-Schnittstelle zuzugreifen, fügen Sie am Ende Ihrer URL /admin/
hinzu:
http://your_server_ip:8000/admin/
Dies bringt Sie zu einem Anmeldebildschirm:
Wenn Sie den Admin-Benutzernamen und das Passwort eingeben, die Sie gerade erstellt haben, erhalten Sie Zugriff auf den Hauptteil der Admin-Site:
Weitere Informationen zur Arbeit mit der Django-Admin-Schnittstelle finden Sie unter “So aktivieren und verbinden Sie die Django-Admin-Schnittstelle.”
Wenn Sie mit dem Testen Ihrer App fertig sind, können Sie CTRL
+ C
drücken, um den Befehl runserver
zu stoppen. Dadurch gelangen Sie zurück in Ihre Programmierumgebung.
Wenn Sie bereit sind, Ihre Python-Umgebung zu verlassen, können Sie den Befehl deactivate
ausführen:
Das Deaktivieren Ihrer Programmierumgebung bringt Sie zurück zum Terminal-Befehls-Prompt.
Fazit
In diesem Tutorial haben Sie erfolgreich Django installiert und eine Entwicklungsumgebung eingerichtet, um mit Ihrer Django-App zu arbeiten.
Sie haben nun das Fundament, um mit dem Bau von Django-Webanwendungen zu beginnen.