Django ist ein kostenloses Open-Source-Webframework, das in Python geschrieben ist und dessen Grundprinzipien Skalierbarkeit, Wiederverwendbarkeit und schnelle Entwicklung sind. Es ist auch bekannt für hohe Konsistenz auf der Framework-Ebene und lose Kopplung, sodass einzelne Komponenten unabhängig von einander sein können.
In diesem Tutorial richten wir eine Django-Umgebung für Entwicklungszwecke auf einem Ubuntu 20.04-Server ein. Bei einer Live-Website gibt es zusätzliche Überlegungen, wie Verbinden mit einer Datenbank, Einrichten eines Domänennamens und Hinzufügen zusätzlicher Sicherheitsebenen. Wir verfügen über eine Vielzahl von Tutorials in Django, die Sie bei dem Erstellen unter unserem Django Tag unterstützen können.
Um diesem Tutorial zu folgen, benötigen Sie:
Ein non-root user-Konto mit sudo
-Berechtigungen, das Sie durch Befolgen und Abschließen des Tutorials Ersteinrichtung eines Servers für Ubuntu 20.04 erreichen können.
Python 3, eingerichtet mit einer virtuellen Programmierumgebung. Sie können diese Einrichtung über den Python 3-Installationsleitfaden erreichen.
Es gibt verschiedene Möglichkeiten, Django zu installieren, das Python-Paketmanager-pip in einer virtuellen Umgebung.
Während wir uns im Stammverzeichnis des Servers befinden, erstellen wir das Verzeichnis, das unsere Django-Anwendung enthalten wird. Führen Sie den folgenden Befehl aus, um ein Verzeichnis namens django-apps
oder mit einem Namen Ihrer Wahl zu erstellen. Navigieren Sie dann zum Verzeichnis.
- mkdir django-apps
- cd django-apps
Während Sie sich im Verzeichnis django-apps
befinden, erstellen Sie Ihre virtuelle Umgebung. Wir nennen sie die generische env
; Sie sollten aber einen Namen verwenden, der für Sie und Ihr Projekt aussagekräftig ist.
- virtualenv env
Aktivieren Sie jetzt die virtuelle Umgebung mit dem folgenden Befehl:
- . env/bin/activate
Sie wissen, dass sie aktiviert ist, sobald sich das Präfix in (env)
ändert, was in etwa wie folgt aussehen wird je nach dem Verzeichnis, in dem Sie sich befinden:
-
Installieren Sie das DjangoPaket mit pip in dieser Umgebung. Durch Installieren von Django können Sie Django-Anwendungen erstellen und ausführen.
- pip install django
Überprüfen Sie nach der Installation Ihre Django-Installation, indem Sie eine Versionsprüfung ausführen:
- django-admin --version
So oder so ähnlich wird die resultierende Ausgabe aussehen:
Output3.0.6
Nachdem Django auf Ihrem Server installiert ist, können wir mit dem Erstellen eines Testprojekts fortfahren, um sicherzustellen, dass alles ordnungsgemäß funktioniert. Wir erstellen eine grundlegende Webanwendung.
Wenn Sie unserer Ersteinrichtung des Servers gefolgt sind oder eine Firewall auf Ihrem Server ausgeführt wird, müssen wir den Port öffnen, mit dem wir die Firewall unseres Servers verwenden. Für die UFW-Firewall können Sie den Port mit dem folgenden Befehl öffnen:
- sudo ufw allow 8000
Wenn Sie DigitalOcean-Firewalls verwenden, können Sie HTTP
aus den eingehenden Regeln auswählen. Sie können mehr über DigitalOcean-Firewalls und die Erstellung von Regeln durch Ändern der eingehenden Regeln erfahren.
Wir können jetzt mit django-admin
, einem Befehlszeilenprogramm für Administrationsaufgaben in Python, eine Anwendung erstellen. Dann können wir den Befehl startproject
verwenden, um die Projektverzeichnisstruktur für unsere Testwebsite zu erstellen.
Führen Sie den folgenden Befehl aus, während Sie sich im Verzeichnis django-apps
befinden:
- django-admin startproject testsite
Anmerkung: Durch Ausführen des Befehls django-admin startproject <projectname>
werden sowohl das Projektverzeichnis als auch das Projektpaket <projectname>
genannt und das Projekt im Verzeichnis, in dem der Befehl ausgeführt wurde, erstellt. Wenn der optionale Parameter <destination>
angegeben wird, verwendet Django das bereitgestellte Zielverzeichnis als Projektverzeichnis und erstellt manage.py
sowie das Projektpaket darin.
Jetzt können wir sehen, welche Projektdateien gerade erstellt wurden. Navigieren Sie dann zum Verzeichnis testsite
und listen Sie den Inhalt dieses Verzeichnisses auf, um zu sehen, welche Dateien erstellt wurden:
- cd testsite
- ls
Outputmanage.py testsite
Sie sehen eine Ausgabe, die zeigt, dass dieses Verzeichnis eine Datei mit dem Namen manage.py
und einen Ordner namens testsite
hat. Die Datei manage.py
ähnelt django-admin
und legt das Paket des Projekts in sys.path
ab. Dadurch wird auch die Umgebungsvariable DJANGO_SETTINGS_MODULE
festgelegt, sodass sie auf die Datei settings.py
Ihres Projekts verweist.
Sie können das Skript manage.py
in Ihrem Terminal anzeigen, indem Sie den Befehl less
wie folgt ausführen:
- less manage.py
Wenn Sie mit dem Lesen des Skripts fertig sind, drücken Sie q
, um das Anschauen der Datei zu beenden.
Navigieren Sie jetzt zum Verzeichnis testsite
, um die anderen Dateien, die erstellt wurden, anzuzeigen:
- cd testsite/
Führen Sie dann den folgenden Befehl aus, um den Inhalt des Verzeichnisses aufzulisten:
- ls
Sie sehen vier Dateien:
Output__init__.py asgi.py settings.py urls.py wsgi.py
Lassen Sie uns die einzelnen Dateien genauer betrachten:
__init__.py
dient als Einstiegspunkt für Ihr Python-Projekt.asgi.py
enthält die Konfiguration für die optionale Bereitstellung bei der Asynchronous Server Gateway Interface oder ASGI, die einen Standard für Anwendungen bereitstellt, die entweder synchron und asynchron sind, und als Nachfolger von WSGI gilt (siehe unten).settings.py
beschreibt die Konfiguration Ihrer Django-Installation und lässt Django wissen, welche Einstellungen verfügbar sind.urls.py
enthält eine Liste namens urlpatterns
, die URLs zu ihren Ansichten
weiterleitet und abbildet.wsgi.py
enthält die Konfiguration für die Web Server Gateway Interface oder WSGI, die einen Standard für synchrone Python-Apps bietet.Anmerkung: Obwohl Standarddateien generiert werden, können Sie die Dateien asgi.py
und wsgi.py
jederzeit ändern und an Ihre Bereitstellungsanforderungen anpassen.
Jetzt können wir den Server starten und die Website auf einem bezeichneten Host und Port anzeigen, indem wir den Befehl runserver
ausführen.
Wir müssen Ihre Server-IP-Adresse der Liste von ALLOWED_HOSTS
in der Datei settings.py
im Verzeichnis ~/test_django_app/testsite/testsite/
hinzufügen.
Wie in der Django-Dokumentation angegeben, enthält die Variable ALLOWED_HOSTS
„eine Liste von Zeichenfolgen, die die Host-/Domänennamen repräsentieren, die diese Django-Site bereitstellen kann. Dies ist eine Sicherheitsmaßnahme, um HTTP Host Header-Angriffe zu verhindern, was auch bei vielen scheinbar sicheren Webserverkonfigurationen möglich ist.“
Sie können Ihren bevorzugten Texteditor verwenden, um Ihre IP-Adresse hinzuzufügen. Wenn Sie beispielsweise nano
verwenden, führen Sie den folgenden Befehl aus:
- nano ~/django-apps/testsite/testsite/settings.py
Sobald Sie den Befehl ausführen, werden Sie zum Abschnitt „Allowed Hosts“ des Dokuments navigieren und die IP-Adresse Ihres Servers in den quadratischen Klammern in einzelnen oder doppelten Anführungszeichen hinzufügen.
"""
Django settings for testsite project.
Generated by 'django-admin startproject' using Django 2.0.
...
"""
...
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
# Edit the line below with your server IP address
ALLOWED_HOSTS = ['your-server-ip']
...
Sie können die Änderung speichern und nano beenden, indem Sie STRG
+ x
gedrückt halten und dann die Taste y
drücken. Als Nächstes greifen wir über einen Browser auf unsere Web-App zu.
Wir erstellen abschließend einen administrativen Benutzer, damit Sie die Django admin-Schnittstelle verwenden können. Wir wollen dies mit dem Befehl createsuperuser
tun:
- python manage.py createsuperuser
Sie werden aufgefordert, einen Benutzernamen, eine E-Mail-Adresse und ein Passwort für Ihren Benutzer zu wählen.
Navigieren Sie nach der Fertigstellung unserer Konfiguration zurück in das Verzeichnis, in dem sich manage.py
befindet:
- cd ~/django-apps/testsite/
Führen Sie jetzt den folgenden Befehl aus, wobei Sie den Text your-server-ip durch die IP-Adresse Ihres Servers ersetzen:
- python manage.py runserver 0.0.0.0:8000
Schließlich können Sie zum folgenden Link navigieren, um zu sehen, wie Ihre grundlegende Website aussieht, und ersetzen Sie den hervorgehobenen Text erneut durch die tatsächliche IP-Adresse Ihres Servers:
http:/
Sobald die Seite geladen ist, sehen Sie Folgendes:
Dadurch wird bestätigt, dass Django richtig installiert wurde und unser Testprojekt korrekt funktioniert.
Für Zugriff auf die Verwaltungsoberfläche fügen Sie /admin/
am Ende Ihrer URL hinzu:
http://your_server_ip:8000/admin/
So gelangen Sie zum Anmeldebildschirm:
Wenn Sie den Benutzernamen und das Passwort für den Administrator eingeben, die Sie gerade erstellt haben, erhalten Sie Zugriff auf den Hauptadministrationsbereich der Site:
Weitere Informationen zum Arbeiten mit der Django-Administratoroberfläche finden Sie unter Aktivieren und Verbinden der Django-Administratoroberfläche.
Wenn Sie mit dem Testen Ihrer App fertig sind, können Sie STRG
+ C
drücken, um den Befehl runserver
anzuhalten. Dadurch kehren Sie zu Ihrer Programmierumgebung zurück.
Wenn Sie bereit sind, Ihre Python-Umgebung zu verlassen, können Sie den Befehl deactivate
ausführen:
- deactivate
Wenn Sie Ihre Programmierumgebung deaktivieren, kehren Sie zur Eingabeaufforderung im Terminal zurück.
In diesem Tutorial haben Sie Django erfolgreich installiert und eine Entwicklungsumgebung eingerichtet, um mit Ihrer Django-App arbeiten zu können.
Sie haben jetzt das Fundament, um mit dem Erstellen von Django-Webanwendungen begonnen zu können.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.