So installieren und konfigurieren Sie das Django-Webframework unter Ubuntu 22.04

Einführung

Django ist ein voll ausgestattetes Python-Web-Framework zur Entwicklung dynamischer Websites und Anwendungen. Mit Django können Sie schnell Python-Webanwendungen erstellen und sich dabei auf das Framework verlassen, um einen Großteil der Arbeit zu erledigen.

In diesem Leitfaden werden wir Django auf einem Ubuntu 22.04 Server installieren. Nach der Installation werden Sie ein neues Projekt starten, das als Grundlage für Ihre Website dient.

Verschiedene Methoden

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

Einige der verschiedenen Methoden sind:

  • Globale Installation aus Paketen: Die offiziellen Ubuntu-Repositorys 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 Version, die in den Repositories enthalten ist, hinter den offiziellen Versionen des Projekts zurückbleiben.
  • Installation mit pip in einer virtuellen Umgebung: Sie können eine eigenständige Umgebung für Ihre Projekte erstellen, indem Sie Tools wie venv und virtualenv verwenden. Eine virtuelle Umgebung ermöglicht es Ihnen, Django in einem Projektverzeichnis zu installieren, ohne das gesamte System zu beeinträchtigen, zusammen mit anderen projektspezifischen Anpassungen und Paketen. Dies ist in der Regel der praktischste und empfohlene Ansatz für die Arbeit mit Django.
  • Installation der Entwicklerversion mit git: Wenn Sie die neueste Entwicklerversion anstelle der stabilen Version installieren möchten, können Sie den Code aus dem Git-Repository beziehen. Dies ist erforderlich, um die neuesten Funktionen/Fixes zu erhalten und kann in Ihrer virtuellen Umgebung durchgeführt werden. Entwicklerversionen haben jedoch nicht die gleichen Stabilitätsgarantien wie stabilere Versionen.

Voraussetzungen

Bevor Sie beginnen, sollten Sie über einen nicht-root-Benutzer mit sudo-Berechtigungen auf Ihrem Ubuntu 22.04-Server verfügen. Um dies einzurichten, folgen Sie unserer Anleitung zum Einrichten eines Ubuntu 22.04-Initialservers.

Globale Installation aus Paketen

Wenn Sie Django über die Ubuntu-Repositorys installieren möchten, ist der Prozess sehr einfach.

Zuerst aktualisieren Sie Ihren lokalen Paketindex mit apt:

  1. sudo apt update

Als nächstes überprüfen Sie, welche Version von Python Sie installiert haben. 22.04 wird standardmäßig mit Python 3.10 ausgeliefert, was Sie durch Eingabe überprüfen können:

  1. python3 -V

Sie sollten eine Ausgabe wie diese sehen:

Output
Python 3.10.4

Installieren Sie als nächstes Django:

  1. sudo apt install python3-django

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

  1. django-admin --version
Output
3.2.12

Dies bedeutet, dass die Software erfolgreich installiert wurde. Sie können auch bemerken, dass die Django-Version nicht die neueste stabile Version ist. Um mehr darüber zu erfahren, wie Sie die Software verwenden, springen Sie vor und lernen Sie, wie Sie ein Beispielprojekt erstellen.

Installation mit pip in einer virtuellen Umgebung

Der flexibelste Weg, Django auf Ihrem System zu installieren, ist in einer virtuellen Umgebung. Wir zeigen Ihnen, wie Sie Django in einer virtuellen Umgebung installieren, die wir mit dem venv-Modul erstellen werden, das Teil der Standard-Python 3-Bibliothek ist. Dieses Tool ermöglicht es Ihnen, virtuelle Python-Umgebungen zu erstellen und Python-Pakete zu installieren, ohne den Rest des Systems zu beeinträchtigen. Sie können daher Python-Pakete pro Projekt auswählen, unabhängig von Konflikten mit den Anforderungen anderer Projekte.

Beginnen wir damit, den lokalen Paketindex zu aktualisieren:

  1. sudo apt update

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

  1. python3 -V
Output
Python 3.10.4

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

  1. sudo apt install python3-pip python3-venv

Jetzt können Sie jedes Mal, wenn Sie ein neues Projekt starten, eine virtuelle Umgebung dafür erstellen. Beginnen Sie damit, ein neues Projektverzeichnis zu erstellen und in dieses zu wechseln:

  1. mkdir ~/newproject
  2. cd ~/newproject

Erstellen Sie als nächstes eine virtuelle Umgebung im Projektverzeichnis mit dem python-Befehl, der mit Ihrer Python-Version kompatibel ist. Wir nennen unsere virtuelle Umgebung my_env, aber Sie sollten sie etwas beschreibendes nennen:

  1. python3 -m venv my_env

Dadurch werden eigenständige Versionen von Python und pip in einer isolierten Verzeichnisstruktur innerhalb Ihres Projektverzeichnisses installiert. Es wird ein Verzeichnis mit dem von Ihnen gewählten Namen erstellt, das die Dateihierarchie enthält, in der Ihre Pakete installiert werden.

Um Pakete in die isolierte Umgebung zu installieren, müssen Sie diese aktivieren, indem Sie Folgendes eingeben:

  1. source my_env/bin/activate

Ihr Prompt sollte sich ändern, um anzuzeigen, dass Sie sich jetzt in Ihrer virtuellen Umgebung befinden. Es wird ungefähr so aussehen: (my_env)benutzername@hostname:~/neuesprojekt$.

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

  1. pip install django

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

  1. django-admin --version
Output
4.0.4

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

Um Ihre virtuelle Umgebung zu verlassen, müssen Sie den Befehl deactivate von überall im System ausgeben:

  1. deactivate

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

  1. cd ~/newproject
  2. source my_env/bin/activate

Entwicklungsversion installieren mit Git

Wenn Sie eine Entwicklungsversion von Django benötigen, können Sie Django aus seinem Git-Repository herunterladen und installieren. Machen wir das innerhalb einer virtuellen Umgebung.

Zuerst aktualisieren wir den lokalen Paketindex:

  1. sudo apt update

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

  1. python3 -V
Output
Python 3.10.4

Installieren Sie dann pip und venv aus den offiziellen Repositories:

  1. sudo apt install python3-pip python3-venv

Der nächste Schritt ist das Klonen des Django-Repositorys. Zwischen den Veröffentlichungen wird dieses Repository aktuellere Funktionen und Fehlerkorrekturen haben, möglicherweise auf Kosten der Stabilität. Sie können das Repository in ein Verzeichnis namens ~/django-dev in Ihrem Home-Verzeichnis klonen, indem Sie folgendes eingeben:

  1. git clone git://github.com/django/django ~/django-dev

Wechseln Sie in dieses Verzeichnis:

  1. cd ~/django-dev

Erstellen Sie eine virtuelle Umgebung mit dem python-Befehl, der mit Ihrer installierten Python-Version kompatibel ist:

  1. python3 -m venv my_env

Aktivieren Sie es:

  1. source my_env/bin/activate

Als nächstes können Sie das Repository mit pip installieren. Die Option -e installiert im „editierbaren“ Modus, was erforderlich ist, wenn Sie aus der Versionskontrolle installieren:

  1. pip install -e ~/django-dev

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

  1. django-admin --version
Output
4.0.4.2

Nochmals, die angezeigte Version stimmt möglicherweise nicht mit dem hier Gezeigten überein.

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

Erstellen eines Beispielprojekts

Mit Django installiert, können Sie mit dem Aufbau Ihres Projekts beginnen. Wir werden erklären, wie Sie ein Projekt erstellen und es auf Ihrem Entwicklungsserver mit einer virtuellen Umgebung testen können.

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

  1. mkdir ~/django-test
  2. cd ~/django-test

Erstellen Sie dann Ihre virtuelle Umgebung:

  1. python3 -m venv my_env

Aktivieren Sie die Umgebung:

  1. source my_env/bin/activate

Installieren Sie Django:

  1. pip install django

Um Ihr Projekt zu erstellen, können Sie django-admin mit dem Befehl startproject verwenden. Wir werden unser Projekt djangoproject nennen, aber Sie können dies durch einen anderen Namen ersetzen. startproject wird ein Verzeichnis innerhalb Ihres aktuellen Arbeitsverzeichnisses erstellen, das Folgendes enthält:

  • A management script, manage.py, which you can use to administer various Django-specific tasks.
  • A directory (with the same name as the project) that includes the actual project code.

Um jedoch zu vermeiden, dass zu viele verschachtelte Verzeichnisse vorhanden sind, sagen wir Django, dass das Verwaltungsskript und das innere Verzeichnis im aktuellen Verzeichnis platziert werden sollen (beachten Sie den Endpunkt):

  1. django-admin startproject djangoproject .

Um die Datenbank zu migrieren (in diesem Beispiel wird standardmäßig SQLite verwendet), verwenden wir das migrate-Befehl mit manage.py. Migrationen wenden alle Änderungen an Ihren Django-Modellen auf Ihr Datenbank-Schema an.

Um die Datenbank zu migrieren, geben Sie folgendes ein:

  1. python manage.py migrate

Sie werden eine Ausgabe wie folgt sehen:

Output
Operations 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 auth.0010_alter_group_name_max_length... OK Applying auth.0011_update_proxy_permissions... OK Applying auth.0012_alter_user_first_name_max_length... OK Applying sessions.0001_initial... OK

Abschließend erstellen wir einen administrativen Benutzer, damit Sie die Django-Admin-Oberfläche verwenden können. Dies tun wir mit dem createsuperuser-Befehl:

  1. python manage.py createsuperuser

Sie werden nach einem Benutzernamen, einer E-Mail-Adresse und einem Passwort für Ihren Benutzer gefragt.

Ändern von ALLOWED_HOSTS in den Django-Einstellungen

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

Öffnen Sie die Einstellungsdatei, indem Sie Folgendes eingeben:

  1. nano ~/django-test/djangoproject/settings.py

Im Inneren, suchen Sie die ALLOWED_HOSTS-Anweisung. Diese definiert eine Liste von Adressen oder Domainnamen, die verwendet werden dürfen, um eine Verbindung mit der Django-Instanz herzustellen. Eine eingehende Anfrage mit einem Host-Header, der nicht in dieser Liste steht, wird eine Ausnahme auslösen. Django erfordert, dass Sie dies setzen, um eine bestimmte Klasse von Sicherheitslücken zu verhindern.

In den eckigen Klammern listen Sie die IP-Adressen oder Domainnamen auf, die mit Ihrem Django-Server verbunden sind. Jedes Element sollte in Anführungszeichen aufgeführt werden, wobei separate Einträge durch ein Komma getrennt sind. Wenn Sie Anfragen für eine gesamte Domäne und alle Subdomänen möchten, fügen Sie einen Punkt am Anfang des Eintrags hinzu:

~/django-test/djangoproject/settings.py
ALLOWED_HOSTS = ['your_server_ip_or_domain', 'your_second_ip_or_domain', . . .]

Wenn Sie fertig sind, speichern Sie die Datei und verlassen Sie Ihren Editor.

Testen des Entwicklungsservers

Sobald Sie einen Benutzer haben, können Sie den Django-Entwicklungsserver starten, um zu sehen, wie ein frisches Django-Projekt aussieht. Sie sollten dies nur für Entwicklungszwecke verwenden. Wenn Sie bereit sind, bereitstellen, stellen Sie sicher, dass Sie Die Richtlinien von Django zur Bereitstellung sorgfältig befolgen.

Bevor Sie den Entwicklungsserver ausprobieren, stellen Sie sicher, dass Sie den entsprechenden Port in Ihrer Firewall öffnen. Wenn Sie dem initialen Servereinrichtungsleitfaden gefolgt sind und UFW verwenden, können Sie den Port 8000 öffnen, indem Sie folgendes eingeben:

  1. sudo ufw allow 8000

Starten Sie den Entwicklungsserver:

  1. python manage.py runserver your_server_ip:8000

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

http://your_server_ip:8000

Sie sollten etwas sehen, das so aussieht:

Um auf die Administrationsbenutzeroberfläche zuzugreifen, fügen Sie Ihrem URL /admin/ hinzu:

http://your_server_ip:8000/admin/

Dies bringt Sie zu einem 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 Website:

Für weitere Informationen zur Arbeit mit der Django-Administrationsbenutzeroberfläche siehe “So aktivieren und verbinden Sie die Django-Administrationsbenutzeroberfläche.”

Wenn Sie mit dem Durchsuchen der Standardwebsite fertig sind, können Sie den Entwicklungsserver beenden, indem Sie STRG-C in Ihrem Terminal eingeben.

Das Django-Projekt, das Sie erstellt haben, bietet die strukturelle Grundlage für das Entwerfen einer umfassenderen Website. Weitere Informationen zum Erstellen Ihrer Anwendungen und Anpassen Ihrer Website finden Sie in der Django-Dokumentation.

Abschluss

Sie sollten jetzt Django auf Ihrem Ubuntu 22.04-Server installiert haben, was die wichtigsten Tools bereitstellt, die Sie benötigen, um leistungsstarke Webanwendungen zu erstellen. Sie sollten auch wissen, wie Sie ein neues Projekt starten und den Entwicklungsserver starten können. Die Nutzung eines vollständigen Web-Frameworks wie Django kann die Entwicklung beschleunigen und es Ihnen ermöglichen, sich nur auf die einzigartigen Aspekte Ihrer Anwendungen zu konzentrieren.

Wenn Sie weitere Informationen zur Arbeit mit Django wünschen, einschließlich eingehender Diskussionen zu Themen wie Modellen und Ansichten, sehen Sie sich bitte unsere Django-Entwicklungsserie an.

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-the-django-web-framework-on-ubuntu-22-04