Installation und Konfiguration von Django Web Framework mit virtuellen Umgebungen in CentOS/Debian - Teil 1
"Dieser Artikel wurde überarbeitet und mit der neuesten Version von Django aktualisiert – Mai 2016"
Vor etwa 20 Jahren, als das World Wide Web noch in den Kinderschuhen steckte, war es fast ein seltener Luxus, eine persönliche oder geschäftliche Website zu haben. Mit der anschließenden Entwicklung verschiedener Webtechnologien und der Einführung dynamischer Inhalte, die durch die Kombination von serverseitigen Programmen und Datenbanken bereitgestellt werden, konnten sich Unternehmen nicht mehr mit einer statischen Website zufrieden geben.
So wurden Webanwendungen Realität – 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, um Programmierer bei der Erstellung von Anwendungen zu unterstützen. Kurz gesagt, ein Web-Framework kümmert sich um gemeinsame Kernfunktionalitäten im Entwicklungsprozess, wie z. B. den Umgang mit der Verwaltung von Benutzersitzungen, die Interaktion mit Datenbanken und die bewährte Praxis, die Geschäftslogik von der Anzeigelogik zu trennen, um nur einige Beispiele zu nennen.
In dieser 3-teiligen Django-Serie stellen wir Ihnen Django vor, ein beliebtes Web-Framework, das auf Python basiert. Aus diesem Grund wird zumindest ein wenig Vertrautheit mit dieser Programmiersprache empfohlen, aber wenn Sie wenig bis gar keine Erfahrung damit haben, führen wir Sie auch durch die Grundlagen.
Installation von Django auf CentOS- und Debian-Servern
Obwohl Sie Django sowohl aus dem Debian- (v1.7.7: erweiterter Support wird im Dezember 2015 eingestellt) als auch aus dem Fedora EPEL-Repositories (v1.6.11: erweiterter Support wurde im April 2015 eingestellt) installieren können, ist die verfügbare Version 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 der erweiterte Support 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 die Verwendung virtueller Umgebungen dringend empfohlen.
Die Werkzeuge, die zum Erstellen und Verwalten virtueller Python-Umgebungen verwendet werden, werden als virtualenv bezeichnet.
Führen Sie die folgenden Schritte aus, um die Installation durchzuführen:
1. Aktivieren Sie für Fedora-basierte Distributionen (außer in Fedora selbst) 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, in dem Ihr erstes Projekt gespeichert wird.
# 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 virtuelle Umgebung aktivieren, die wir gerade erstellt haben:
# 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, aber die erwartete Ausgabe 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).
Geben Sie Folgendes ein, um die Python-Eingabeaufforderung zu beenden:
>>> exit()
und drücken Sie die Eingabetaste. Deaktivieren Sie als Nächstes die virtuelle Umgebung:
# 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 in der virtuellen Umgebung zu erstellen, die wir zuvor erstellt haben, muss es aktiviert werden:
# source myfirstdjangoenv/bin/activate
Als nächstes erstellt das Framework die gesamte Verzeichnisstruktur, um Ihr Projekt zu speichern. Um dies zu tun, 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 helfen wird) 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 ergibt, nachdem wir einige Python-Versionen überprüft haben, um mit dem Schreiben einer echten Webanwendung zu beginnen, lohnt es sich und ist gut, die Schlüsseldateien zu beachten, die sich in einem Projekt-Container-Verzeichnis befinden:
- myfirstdjangoproject/__init__.py: Diese leere Datei teilt Python mit, dass dieses Verzeichnis als Python-Paket betrachtet werden soll.
- myfirstdjangoproject/settings.py: Spezifische Einstellungen für dieses Django-Projekt.
- myfirstdjangoproject/urls.py: ein Inhaltsverzeichnis (Table Of Contents) Ihrer von Django betriebenen Website.
- myfirstdjangoproject/wsgi.py: Ein Einstiegspunkt für WSGI-kompatible Webserver, um Ihr Projekt zu unterstützen.
# ls
ls -l myfirstdjangoproject
ls -l myfirstdjangoproject/myfirstdjangoproject
Darüber hinaus verfügt Django über einen leichtgewichtigen integrierten Webserver (ähnlich wie Python SimpleHTTP in Python geschrieben, was sonst?), mit dem Sie Ihre Anwendungen während des Entwicklungsprozesses testen können, ohne sich in dieser speziellen Phase mit der Aufgabe befassen zu müssen, einen Webserver einzurichten.
Sie müssen jedoch wissen, dass dies nicht für eine Produktionsumgebung geeignet ist, sondern nur für die Entwicklung. 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 der folgende Fehler auftritt:
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 starten Sie dann den Server erneut:
# python manage.py runserver 0.0.0.0:8000
Wir werden das Konzept der Migrationen in den nächsten Artikeln dieser Serie behandeln, damit Sie die Fehlermeldung vorerst ignorieren können.
In jedem Fall können Sie den Standardport ändern, an dem der integrierte Webserver empfangsbereit ist. Durch die Verwendung von 0.0.0.0 als Netzwerkschnittstelle für das Lauschen ermöglichen wir anderen Computern im selben Netzwerk den Zugriff auf die Projektbenutzeroberfläche (wenn Sie stattdessen 127.0.0.1 verwenden, können Sie nur über localhost auf die Benutzeroberfläche zugreifen).
Sie können den Port auch in einen anderen Port Ihrer Wahl ändern, aber Sie müssen auch sicherstellen, dass der Datenverkehr über einen solchen Port durch Ihre Firewall zugelassen wird:
# firewall-cmd --add-port=8000/tcp
firewall-cmd --permanent --add-port=8000/tcp
Natürlich versteht es sich von selbst, dass Sie den zulässigen Port aktualisieren müssen, wenn Sie beim Starten des leichtgewichtigen Webservers einen anderen Port verwenden.
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 IP 192.168.0.25, die auf Port 8000 lauscht:
http://192.168.0.25:8000
Es ist zwar eine großartige Sache, dass wir die Ersteinrichtung eines Projekts abschließen konnten, aber es gibt noch viel zu tun, wie in der obigen Nachricht angedeutet.
Zusammenfassung
In diesem Leitfaden haben wir erklärt, wie Sie eine virtuelle Umgebung für Django, ein vielseitiges Open-Source-Webframework auf Basis von Python, installieren und konfigurieren.
Unabhängig davon, ob Sie ein Anwendungsentwickler oder ein Systemadministrator sind, sollten Sie diesen Artikel und den Rest dieser Serie mit einem Lesezeichen versehen, da die Chancen groß sind, dass Sie irgendwann die Notwendigkeit eines solchen Tools für Ihre täglichen Aufgaben in Betracht ziehen müssen.
In den folgenden Artikeln dieser Serie werden wir erörtern, wie wir auf dem aufbauen können, was wir bereits erreicht haben, um eine einfache, aber funktionale Webanwendung mit Django und Python zu erstellen.
Wie immer zögern Sie nicht, uns eine Nachricht zu schreiben, wenn Sie Fragen zu diesem Artikel oder Verbesserungsvorschläge haben. Wir freuen uns auf Sie!






