Website-Suche

Installieren und Konfigurieren des Django Web Framework mit virtuellen Umgebungen in CentOS/Debian – Teil 1


„Dieser Artikel wurde mit der neuesten Version von Django überarbeitet und aktualisiert – Mai 2016“

Vor etwa 20 Jahren, als das World Wide Web noch in den Kinderschuhen steckte, war eine private oder geschäftliche Website fast ein seltener Luxus. Mit der anschließenden Entwicklung mehrerer Webtechnologien und der Einführung dynamischer Inhalte, die durch die Kombination serverseitiger Programme und Datenbanken bereitgestellt wurden, konnten sich Unternehmen nicht mehr mit einer statischen Website zufrieden geben.

So wurden Webanwendungen Wirklichkeit – Programme im wahrsten Sinne des Wortes, die auf einem Webserver laufen und über einen Webbrowser zugänglich sind.

Um die Entwicklung einfacher und effektiver zu gestalten, wurden Web-Frameworks entwickelt, die Programmierer bei der Erstellung von Anwendungen unterstützen sollen. Kurz gesagt, ein Web-Framework kümmert sich um allgemeine Kernfunktionen im Entwicklungsprozess, wie z. B. die Verwaltung von Benutzersitzungen, die Interaktion mit Datenbanken und die bewährte Vorgehensweise, die Geschäftslogik von der Anzeigelogik zu trennen, um nur einige Beispiele zu nennen.

In dieser Django-Serie mit drei Artikeln stellen wir Ihnen Django vor, ein beliebtes Web-Framework, das auf Python basiert. Aus diesem Grund wird empfohlen, zumindest ein wenig mit dieser Programmiersprache vertraut zu sein. Wenn Sie jedoch wenig oder gar keine Erfahrung damit haben, führen wir Sie auch durch die Grundlagen.

Django auf CentOS- und Debian-Servern installieren

Obwohl Sie Django sowohl von Debian (v1.7.7: erweiterte Unterstützung wird am Dezember 2015 eingestellt) als auch von Fedora EPEL (v1.7.7) installieren können >v1.6.11: Die erweiterte Unterstützung wurde am April 2015 eingestellt. Repositorys, die verfügbare Version ist nicht die neueste stabile LTS-Version (Long Term Support) (v1.8.13), Stand Mai 2016).

In diesem Tutorial zeigen wir Ihnen, wie Sie Django v1.8.13 installieren, da die erweiterte Unterstützung bis mindestens April 2018 garantiert ist.

Die empfohlene Methode zur Installation von Django ist pip, ein beliebtes Tool zur Verwaltung von Python-Paketen. Um isolierte Python-Umgebungen zu erstellen und Konflikte zwischen Projekten zu vermeiden, die möglicherweise unterschiedliche Versionen von Softwareabhängigkeiten erfordern, wird außerdem die Verwendung virtueller Umgebungen dringend empfohlen.

Die Tools, die zum Erstellen und Verwalten virtueller Python-Umgebungen verwendet werden, heißen virtualenv.

Befolgen Sie diese Schritte, um die Installation durchzuführen:

1. Für Fedora-basierte Distributionen (außer in Fedora selbst) aktivieren Sie zuerst das EPEL-Repository:

yum update && yum install epel-release

2. Installieren Sie pip und virtualenv:

Fedora-basierte Distributionen:

yum install python-pip python-virtualenv
OR 
dnf install python-pip python-virtualenv
Debian und Derivate:
aptitude update && aptitude install python-pip virtualenv

3. Erstellen Sie ein Verzeichnis zum Speichern Ihres ursprünglichen Projekts.

mkdir ~/myfirstdjangoenv
cd ~/myfirstdjangoenv

4. Erstellen und aktivieren Sie eine virtuelle Umgebung:

virtualenv myfirstdjangoenv

Der obige Befehl erstellt eine Reihe von Dateien und Unterverzeichnissen in ~/myfirstdjangoenv und installiert im Grunde eine lokale Kopie von Python und pip im aktuellen Arbeitsverzeichnis . Als nächstes müssen wir die gerade erstellte virtuelle Umgebung aktivieren:

source myfirstdjangoenv/bin/activate

5. Beachten Sie, wie sich die Eingabeaufforderung nach dem letzten Befehl ändert. Jetzt ist es an der Zeit, Django zu installieren:

Beachten Sie, dass der folgende Screenshot während einer früheren Version dieses Tutorials aufgenommen wurde, die erwartete Ausgabe jedoch bei der Installation von Django 1.8.13 dieselbe ist ):


pip install Django==1.8.13

Sie können die Django-Version überprüfen, indem Sie eine Python-Shell aus Ihrem aktuellen Arbeitsverzeichnis starten:

python
>>> import django
>>> print(django.get_version())

(Auch hier sollte der obige Befehl 1.8.13 zurückgeben, wenn die aktuelle Django-Version überprüft wird).

Um die Python-Eingabeaufforderung zu verlassen, geben Sie Folgendes ein:

>>> exit() 

und drücken Sie die Eingabetaste. Als nächstes schalten Sie die virtuelle Umgebung aus:

deactivate

Bitte beachten Sie, dass Django nicht verfügbar ist, solange die virtuelle Umgebung deaktiviert bleibt:

So erstellen Sie ein erstes Projekt in Django

Um ein Projekt innerhalb der zuvor erstellten virtuellen Umgebung zu erstellen, muss es aktiviert werden:

source myfirstdjangoenv/bin/activate

Als Nächstes erstellt das Framework die gesamte Verzeichnisstruktur zum Speichern Ihres Projekts. Dazu müssen Sie ausführen.

django-admin startproject myfirstdjangoproject

Der obige Befehl erstellt ein Verzeichnis mit dem Namen myfirstdjangoproject in Ihrem aktuellen Arbeitsverzeichnis.

Dort finden Sie eine Datei mit dem Namen manage.py (ein Dienstprogramm, das Ihnen später bei der Verwaltung Ihres Projekts hilft) und ein weiteres Unterverzeichnis (~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject). Dieses letzte Unterverzeichnis dient als Container für die Projektdateien.

Während der Rest der Dateien wirklich Sinn macht, nachdem wir uns mit Python vertraut gemacht haben, um mit dem Schreiben einer echten Webanwendung zu beginnen, lohnt es sich, die Schlüsseldateien zu beachten, die in einem Projektcontainerverzeichnis zu finden sind:

  1. myfirstdjangoproject/__init__.py: Diese leere Datei teilt Python mit, dass dieses Verzeichnis als Python-Paket betrachtet werden soll.
  2. myfirstdjangoproject/settings.py: Spezifische Einstellungen für dieses Django-Projekt.
  3. myfirstdjangoproject/urls.py: ein Inhaltsverzeichnis (Inhaltsverzeichnis) Ihrer Django-basierten Website.
  4. myfirstdjangoproject/wsgi.py: Ein Einstiegspunkt für WSGI-kompatible Webserver zur Bereitstellung Ihres Projekts.
ls 
ls -l myfirstdjangoproject
ls -l myfirstdjangoproject/myfirstdjangoproject

Darüber hinaus verfügt Django über einen kompakten integrierten Webserver (geschrieben in Python, ähnlich wie Python SimpleHTTP, was sonst?), der zum Testen Ihrer Anwendungen während der Entwicklung verwendet werden kann Prozess, ohne sich zu diesem Zeitpunkt mit der Einrichtung eines Webservers befassen zu müssen.

Sie müssen jedoch wissen, dass dies nicht für eine Produktionsumgebung, sondern nur für die Entwicklung geeignet ist. Um Ihr neu erstelltes Projekt zu starten, ändern Sie Ihr aktuelles Arbeitsverzeichnis in das Containerverzeichnis für Ihr Projekt (~/myfirstdjangoenv/myfirstdjangoproject) und führen Sie Folgendes aus:

python manage.py runserver 0.0.0.0:8000

Wenn Sie auf den folgenden Fehler stoßen:

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

Tun Sie, was es sagt:

python manage.py migrate

und dann den Server erneut starten:

python manage.py runserver 0.0.0.0:8000

Wir werden das Konzept der Migrationen in den nächsten Artikeln dieser Serie behandeln, sodass Sie die Fehlermeldung vorerst ignorieren können.

In jedem Fall können Sie den Standardport ändern, an dem der integrierte Webserver lauscht. Durch die Verwendung von 0.0.0.0 als Netzwerkschnittstelle zum Abhören ermöglichen wir anderen Computern im selben Netzwerk den Zugriff auf die Benutzeroberfläche des Projekts (wenn Sie stattdessen 127.0.0.1 verwenden, Sie können nur über localhost auf die Benutzeroberfläche zugreifen.

Sie können den Port auch auf einen anderen Ihrer Wahl ändern. Sie müssen jedoch auch sicherstellen, dass der Datenverkehr über diesen Port durch Ihre Firewall zugelassen wird:

firewall-cmd --add-port=8000/tcp
firewall-cmd --permanent --add-port=8000/tcp

Es versteht sich von selbst, dass Sie den zulässigen Port aktualisieren müssen, wenn Sie beim Starten des Lightweight-Webservers einen anderen verwenden möchten.

In Ihrem Terminal sollte die folgende Ausgabe angezeigt werden:

python manage.py runserver 0.0.0.0:8000

An dieser Stelle können Sie Ihren bevorzugten Webbrowser öffnen und zur IP-Adresse des Computers navigieren, auf dem Sie Django installiert haben, gefolgt von der Portnummer. In meinem Fall handelt es sich um eine Debian Jessie-Box mit der IP 192.168.0.25, die auf Port 8000 lauscht:

http://192.168.0.25:8000

Obwohl es großartig ist, dass wir die Ersteinrichtung eines Projekts abschließen konnten, gibt es noch viel zu tun, wie in der Nachricht oben angegeben.

Zusammenfassung

In dieser Anleitung haben wir erklärt, wie man eine virtuelle Umgebung für Django, ein vielseitiges Open-Source-Webframework auf Basis von Python, installiert und konfiguriert.

Unabhängig davon, ob Sie Anwendungsentwickler oder Systemadministrator sind, sollten Sie diesen Artikel und den Rest dieser Serie als Lesezeichen speichern, da die Wahrscheinlichkeit groß ist, dass Sie irgendwann darüber nachdenken müssen, ob Sie ein solches Tool für Ihre täglichen Aufgaben benötigen.

In den folgenden Artikeln dieser Reihe werden wir diskutieren, wie wir auf dem, was wir bereits erreicht haben, aufbauen können, um eine einfache, aber funktionale Webanwendung mit Django und Python zu erstellen.

Zögern Sie wie immer nicht, uns eine Nachricht zu schicken, wenn Sie Fragen zu diesem Artikel oder Verbesserungsvorschläge haben. Wir freuen uns von Ihnen zu hören!