So installieren Sie das Django Web Framework unter Ubuntu 18.04

Einführung

Django ist ein Python-Webframework mit vollem Funktionsumfang für die Entwicklung dynamischer Websites und Anwendungen. Mit Django können Sie schnell Python-Webanwendungen erstellen und sich auf das Framework verlassen, um einen Großteil der schweren Aufgaben zu erledigen.

In diesem Handbuch bringen Sie Django auf einem Ubuntu 18.04-Server zum Laufen. Nach der Installation starten Sie ein neues Projekt, das als Grundlage für Ihre Site dient.

Verschiedene Methoden

Es gibt verschiedene Möglichkeiten, Django zu installieren, je nachdem, welche Anforderungen Sie haben und wie Sie Ihre Entwicklungsumgebung konfigurieren möchten. Diese haben unterschiedliche Vorteile, und eine Methode eignet sich möglicherweise besser für Ihre spezifische Situation als andere.

Einige der verschiedenen Methoden umfassen:

  • * Globale Installation von Paketen *: Die offiziellen Ubuntu-Repositories enthalten Django-Pakete, die mit dem herkömmlichen "+ apt +" - Paketmanager installiert werden können. Dies ist einfach, aber nicht so flexibel wie einige andere Methoden. Außerdem kann die in den Repositorys enthaltene Version hinter den offiziellen Versionen des Projekts zurückbleiben.

  • * Installation mit + pip + in einer virtuellen Umgebung *: Sie können mit Tools wie + venv + und + virtualenv + eine eigenständige Umgebung für Ihre Projekte erstellen. In einer virtuellen Umgebung können Sie Django zusammen mit anderen projektspezifischen Anpassungen und Paketen in einem Projektverzeichnis installieren, ohne das größere System zu beeinträchtigen. Dies ist normalerweise der praktischste und empfohlenste Ansatz für die Arbeit mit Django.

  • * Installation der Entwicklungsversion mit + git + *: Wenn Sie anstelle der stabilen Version die neueste Entwicklungsversion installieren möchten, können Sie den Code vom Git-Repo beziehen. Dies ist erforderlich, um die neuesten Funktionen / Korrekturen zu erhalten, und kann in Ihrer virtuellen Umgebung durchgeführt werden. Entwicklungsversionen bieten jedoch nicht die gleichen Stabilitätsgarantien wie stabilere Versionen.

Voraussetzungen

Bevor Sie beginnen, sollten Sie einen Nicht-Root-Benutzer mit Sudo-Berechtigungen auf Ihrem Ubuntu 18.04-Server haben. Befolgen Sie hierzu unsere Ubuntu 18.04 Anleitung zur Ersteinrichtung des Servers.

Globale Installation von Paketen

Wenn Sie Django mithilfe der Ubuntu-Repositorys installieren möchten, ist der Vorgang sehr einfach.

Aktualisieren Sie zuerst Ihren lokalen Paketindex mit + apt +:

sudo apt update

Überprüfen Sie als Nächstes, welche Version von Python Sie installiert haben. 18.04 wird standardmäßig mit Python 3.6 ausgeliefert. Dies können Sie überprüfen, indem Sie Folgendes eingeben:

python3 -V

Sie sollten die Ausgabe so sehen:

OutputPython

Als nächstes installieren Sie Django:

sudo apt install python3-django

Sie können testen, ob die Installation erfolgreich war, indem Sie Folgendes eingeben:

django-admin --version
Output

Dies bedeutet, dass die Software erfolgreich installiert wurde. Möglicherweise stellen Sie auch fest, dass die Django-Version nicht die neueste stabile Version ist. Weitere Informationen zur Verwendung der Software erhalten Sie unter https://www.digitalocean.com/community/tutorials/how-to-install-the-django-web-framework-on-ubuntu-18-04#. Erstellen eines Beispielprojekts [So erstellen Sie ein Beispielprojekt].

Installieren Sie mit pip in einer virtuellen Umgebung

Die flexibelste Möglichkeit, Django auf Ihrem System zu installieren, besteht in einer virtuellen Umgebung. Wir zeigen Ihnen, wie Sie Django in einer virtuellen Umgebung installieren, die wir mit dem "+ venv +" - Modul erstellen, das Teil der Python 3-Standardbibliothek ist. Mit diesem Tool können Sie virtuelle Python-Umgebungen erstellen und Python-Pakete installieren, ohne den Rest des Systems zu beeinträchtigen. Sie können daher Python-Pakete auf Projektbasis auswählen, unabhängig von Konflikten mit den Anforderungen anderer Projekte.

Beginnen wir mit der Aktualisierung des lokalen Paketindex:

sudo apt update

Überprüfen Sie die Version von Python, die Sie installiert haben:

python3 -V
OutputPython

Als nächstes installieren wir + pip + aus den Ubuntu-Repositories:

sudo apt install python3-pip

Sobald "+ pip " installiert ist, können Sie es verwenden, um das " venv +" - Paket zu installieren:

sudo apt install python3-venv

Wenn Sie jetzt ein neues Projekt starten, können Sie eine virtuelle Umgebung dafür erstellen. Beginnen Sie mit dem Erstellen und Verschieben in ein neues Projektverzeichnis:

mkdir ~/
cd ~/

Erstellen Sie als Nächstes eine virtuelle Umgebung im Projektverzeichnis mit dem Befehl "+ python", der mit Ihrer Python-Version kompatibel ist. Wir werden unsere virtuelle Umgebung "++" nennen, aber Sie sollten sie beschreibend nennen:

python3 -m venv

Dadurch werden eigenständige Versionen von Python und "+ pip +" in einer isolierten Verzeichnisstruktur in Ihrem Projektverzeichnis installiert. Es wird ein Verzeichnis mit dem von Ihnen ausgewählten Namen erstellt, das die Dateihierarchie enthält, in der Ihre Pakete installiert werden.

Um Pakete in der isolierten Umgebung zu installieren, müssen Sie sie aktivieren, indem Sie Folgendes eingeben:

source /bin/activate

Ihre Eingabeaufforderung sollte sich ändern, um anzuzeigen, dass Sie sich jetzt in Ihrer virtuellen Umgebung befinden. Es sieht ungefähr so ​​aus wie + () username @ hostname: ~ / newproject $ +.

In Ihrer neuen Umgebung können Sie + pip + verwenden, um Django zu installieren. Unabhängig von Ihrer Python-Version sollte "+ pip " nur " pip " heißen, wenn Sie sich in Ihrer virtuellen Umgebung befinden. Beachten Sie auch, dass Sie " sudo +" nicht verwenden müssen, da Sie lokal installieren:

pip install django

Sie können die Installation überprüfen, indem Sie Folgendes eingeben:

django-admin --version
Output

Beachten Sie, dass Ihre Version von der hier gezeigten Version abweichen kann.

Um Ihre virtuelle Umgebung zu verlassen, müssen Sie den Befehl + disable + von einer beliebigen Stelle im System aus ausführen:

deactivate

Ihre Eingabeaufforderung sollte zur herkömmlichen Anzeige zurückkehren. Wenn Sie wieder an Ihrem Projekt arbeiten möchten, aktivieren Sie Ihre virtuelle Umgebung erneut, indem Sie in Ihr Projektverzeichnis zurückkehren und Folgendes aktivieren:

cd ~/
source /bin/activate

Entwicklungsversion Mit Git installieren

Wenn Sie eine Entwicklungsversion von Django benötigen, können Sie Django von seinem Git-Repository herunterladen und installieren. Lassen Sie uns dies in einer virtuellen Umgebung tun.

Aktualisieren wir zunächst den lokalen Paketindex:

sudo apt update

Überprüfen Sie die Version von Python, die Sie installiert haben:

python3 -V
OutputPython

Als nächstes installieren Sie + pip + aus den offiziellen Repositories:

sudo apt install python3-pip

Installieren Sie das Paket + venv +, um Ihre virtuelle Umgebung zu erstellen:

sudo apt install python3-venv

Der nächste Schritt ist das Klonen des Django-Repositorys. Zwischen den Releases wird dieses Repository auf Kosten der Stabilität über aktuellere Funktionen und Fehlerkorrekturen verfügen. Sie können das Repository in ein Verzeichnis mit dem Namen "+ ~ / +" in Ihrem Ausgangsverzeichnis klonen, indem Sie Folgendes eingeben:

git clone git://github.com/django/django ~/

Wechseln Sie in dieses Verzeichnis:

cd ~/

Erstellen Sie mit dem Befehl "+ python" eine virtuelle Umgebung, die mit Ihrer installierten Version von Python kompatibel ist:

python3 -m venv

Aktiviere es:

source /bin/activate

Als nächstes können Sie das Repository mit + pip + installieren. Die Option "+ -e +" wird im "bearbeitbaren" Modus installiert, der für die Installation über die Versionskontrolle erforderlich ist:

pip install -e ~/

Sie können überprüfen, ob die Installation erfolgreich war, indem Sie Folgendes eingeben:

django-admin --version
Output

Auch hier stimmt die angezeigte Version möglicherweise nicht mit der hier gezeigten überein.

Sie haben jetzt die neueste Version von Django in Ihrer virtuellen Umgebung.

Beispielprojekt erstellen

Wenn Django installiert ist, können Sie mit dem Erstellen Ihres Projekts beginnen. Wir werden ein Projekt erstellen und es auf Ihrem Entwicklungsserver in einer virtuellen Umgebung testen.

Erstellen Sie zunächst ein Verzeichnis für Ihr Projekt und wechseln Sie in dieses:

mkdir ~/
cd ~/

Als nächstes erstellen Sie Ihre virtuelle Umgebung:

python3 -m venv

Aktivieren Sie die Umgebung:

source /bin/activate

Installieren Sie Django:

pip install django

Um Ihr Projekt zu erstellen, können Sie + django-admin + mit dem Befehl + startproject + verwenden. Wir werden unser Projekt "+" nennen, aber Sie können dies durch einen anderen Namen ersetzen. ` startproject +` erstellt ein Verzeichnis in Ihrem aktuellen Arbeitsverzeichnis, das Folgendes enthält:

  • Ein Verwaltungsskript, + manage.py +, mit dem Sie verschiedene Django-spezifische Aufgaben verwalten können.

  • Ein Verzeichnis (mit demselben Namen wie das Projekt), das den tatsächlichen Projektcode enthält.

Um zu vermeiden, dass zu viele verschachtelte Verzeichnisse vorhanden sind, fordern wir Django auf, das Verwaltungsskript und das innere Verzeichnis im Verzeichnis current abzulegen (beachten Sie den Endpunkt):

django-admin startproject  .

Verwenden Sie zum Migrieren der Datenbank (in diesem Beispiel wird standardmäßig SQLite verwendet) den Befehl "+ migrate " mit " manage.py +". Migrations Wenden Sie alle Änderungen an, die Sie an Ihrem Django vorgenommen haben. https://www.digitalocean.com/community/tutorials/how-to-create -django-models [models] zu Ihrem Datenbankschema.

Geben Sie zum Migrieren der Datenbank Folgendes ein:

python manage.py migrate

Sie sehen die Ausgabe wie folgt:

OutputOperations to perform:
 Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
 Applying contenttypes.0001_initial... OK
 Applying auth.0001_initial... OK
 Applying admin.0001_initial... OK
 Applying admin.0002_logentry_remove_auto_add... OK
 Applying admin.0003_logentry_add_action_flag_choices... OK
 Applying contenttypes.0002_remove_content_type_name... OK
 Applying auth.0002_alter_permission_name_max_length... OK
 Applying auth.0003_alter_user_email_max_length... OK
 Applying auth.0004_alter_user_username_opts... OK
 Applying auth.0005_alter_user_last_login_null... OK
 Applying auth.0006_require_contenttypes_0002... OK
 Applying auth.0007_alter_validators_add_error_messages... OK
 Applying auth.0008_alter_user_username_max_length... OK
 Applying auth.0009_alter_user_last_name_max_length... OK
 Applying sessions.0001_initial... OK

Zuletzt erstellen wir einen Administrator, damit Sie die Djano admin interface verwenden können. Lass uns das mit dem Befehl "+ createduperuser +" machen:

python manage.py createsuperuser

Sie werden aufgefordert, einen Benutzernamen, eine E-Mail-Adresse und ein Kennwort für Ihren Benutzer einzugeben.

Ändern von ALLOWED_HOSTS in den Django-Einstellungen

Um Ihre Anwendung erfolgreich zu testen, müssen Sie eine der Anweisungen in den Django-Einstellungen ändern.

Öffnen Sie die Einstellungsdatei, indem Sie Folgendes eingeben:

nano ~///settings.py

Suchen Sie im Inneren die Direktive "+ ALLOWED_HOSTS +". Dies definiert eine Whitelist mit Adressen oder Domänennamen, die zum Herstellen einer Verbindung mit der Django-Instanz verwendet werden können. Eine eingehende Anfrage mit einem * Host * -Header, der nicht in dieser Liste enthalten ist, löst eine Ausnahme aus. Django erfordert, dass Sie dies einstellen, um eine bestimmte Sicherheitslücke zu vermeiden.

Listen Sie in den eckigen Klammern die IP-Adressen oder Domänennamen auf, die Ihrem Django-Server zugeordnet sind. Jeder Artikel sollte in Anführungszeichen mit separaten Einträgen, die durch Komma getrennt sind, aufgeführt werden. Wenn Sie Anfragen für eine gesamte Domain und Subdomains haben möchten, stellen Sie einen Punkt vor den Anfang des Eintrags:

~ / django-test / djangoproject / settings.py

. . .
ALLOWED_HOSTS = ['', '', ]

Wenn Sie fertig sind, speichern Sie die Datei und schließen Sie den Editor.

Testen des Entwicklungsservers

Sobald Sie einen Benutzer haben, können Sie den Django-Entwicklungsserver starten, um zu sehen, wie ein neues Django-Projekt aussieht. Sie sollten dies nur für Entwicklungszwecke verwenden. Befolgen Sie die https://docs.djangoproject.com/en/2.1/howto/deployment/checklist/[Django’s Richtlinien zur Bereitstellung sorgfältig, wenn Sie bereit sind.

Stellen Sie vor dem Testen des Entwicklungsservers sicher, dass der entsprechende Port in Ihrer Firewall geöffnet ist. Wenn Sie der Anleitung zur Ersteinrichtung des Servers gefolgt sind und UFW verwenden, können Sie den Port "+ 8000 +" öffnen, indem Sie Folgendes eingeben:

sudo ufw allow 8000

Starten Sie den Entwicklungsserver:

python manage.py runserver :8000

Besuchen Sie die IP-Adresse Ihres Servers, gefolgt von "+: 8000 +" in Ihrem Webbrowser:

http://:8000

Sie sollten etwas sehen, das so aussieht:

image: https: //assets.digitalocean.com/articles/django_install_18_04/django_landing_page_18_04.png [Django public page]

Um auf die Admin-Oberfläche zuzugreifen, fügen Sie am Ende Ihrer URL "+ / admin / +" hinzu:

http://:8000/admin/

Daraufhin gelangen Sie zu einem Anmeldebildschirm:

Wenn Sie den soeben erstellten Admin-Benutzernamen und das Passwort eingeben, haben Sie Zugriff auf den Haupt-Admin-Bereich der Site:

Weitere Informationen zum Arbeiten mit der Django-Administrationsoberfläche finden Sie unter ´How To Enable and Verbinde das Django Admin Interface. ”

Wenn Sie mit dem Durchsuchen der Standardwebsite fertig sind, können Sie den Entwicklungsserver stoppen, indem Sie in Ihr Terminal "+ STRG-C +" eingeben.

Das von Ihnen erstellte Django-Projekt bietet die strukturelle Grundlage für die Gestaltung einer vollständigeren Website. Weitere Informationen zum Erstellen Ihrer Anwendungen und zum Anpassen Ihrer Site finden Sie in der Django-Dokumentation.

Fazit

Sie sollten Django jetzt auf Ihrem Ubuntu 18.04-Server installiert haben und die wichtigsten Tools bereitstellen, die Sie zum Erstellen leistungsfähiger Webanwendungen benötigen. Sie sollten auch wissen, wie Sie ein neues Projekt starten und den Entwicklerserver starten. Durch die Nutzung eines vollständigen Webframeworks wie Django kann die Entwicklung beschleunigt werden, sodass Sie sich nur auf die einzigartigen Aspekte Ihrer Anwendungen konzentrieren können.

Wenn Sie weitere Informationen über die Arbeit mit Django wünschen, einschließlich ausführlicher Diskussionen über Dinge wie models und https: // www.digitalocean.com/community/tutorials/how-to-create-django-views[views] finden Sie unter Django development series.