Tutorial

Installieren von Django und Einrichten einer Entwicklungsumgebung unter Ubuntu 20.04

Published on June 11, 2020
Deutsch
Installieren von Django und Einrichten einer Entwicklungsumgebung unter Ubuntu 20.04

Einführung

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.

Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie:

Schritt 1 — Installieren von Django

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.

  1. mkdir django-apps
  2. 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.

  1. virtualenv env

Aktivieren Sie jetzt die virtuelle Umgebung mit dem folgenden Befehl:

  1. . 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.

  1. pip install django

Überprüfen Sie nach der Installation Ihre Django-Installation, indem Sie eine Versionsprüfung ausführen:

  1. django-admin --version

So oder so ähnlich wird die resultierende Ausgabe aussehen:

Output
3.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.

Schritt 2 — Anpassen der Firewalleinstellungen

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:

  1. 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.

Schritt 3 — Starten des Projekts

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:

  1. 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:

  1. cd testsite
  1. ls
Output
manage.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:

  1. 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:

  1. cd testsite/

Führen Sie dann den folgenden Befehl aus, um den Inhalt des Verzeichnisses aufzulisten:

  1. 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.

Schritt 4 — Konfigurieren von Django

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:

  1. 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.

settings.py
"""
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:

  1. python manage.py createsuperuser

Sie werden aufgefordert, einen Benutzernamen, eine E-Mail-Adresse und ein Passwort für Ihren Benutzer zu wählen.

Schritt 5 — Zugreifen auf die Django Web-App

Navigieren Sie nach der Fertigstellung unserer Konfiguration zurück in das Verzeichnis, in dem sich manage.py befindet:

  1. 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:

  1. 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://your-server-ip:8000/

Sobald die Seite geladen ist, sehen Sie Folgendes:

Django-Standardseite

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:

Django-Admin-Anmeldung

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:

Django-Admin-Seite

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:

  1. deactivate

Wenn Sie Ihre Programmierumgebung deaktivieren, kehren Sie zur Eingabeaufforderung im Terminal zurück.

Zusammenfassung

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.

Learn more about us


About the authors

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


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!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel