Django ist ein kostenloses Open-Source-Python-Web-Framework auf hoher Ebene, das entwickelt wurde, um Entwicklern beim Erstellen sicherer, skalierbarer und wartbarer Webanwendungen zu helfen.
Je nach Bedarf gibt es verschiedene Methoden zur Installation von Django. Es kann systemweit oder in einer virtuellen Python-Umgebung mit pip installiert werden. Django-Pakete sind auch in den CentOS-Repositories enthalten und können mit yum
installiert werden Paketmanager, aber sie sind veraltet.
In diesem Tutorial installieren und konfigurieren wir die neueste stabile Version von Django auf einem CentOS 7-Computer in einer virtuellen Python-Umgebung.
Der Hauptzweck virtueller Python-Umgebungen besteht darin, eine isolierte Umgebung für verschiedene Python-Projekte zu erstellen. Auf diese Weise können Sie mehrere verschiedene Django-Umgebungen auf einem einzigen Computer haben und eine bestimmte Version eines Moduls auf Projektbasis installieren, ohne sich Sorgen machen zu müssen, dass dies Ihre anderen Django-Installationen beeinflusst. Wenn Sie Django in der globalen Umgebung installieren, können Sie nur eine Django-Version auf Ihrem Computer installieren.
Installation von Django auf CentOS 7 #
Die folgenden Abschnitte enthalten eine Schritt-für-Schritt-Anleitung zur Installation von Django in einer virtuellen Python-Umgebung unter CentOS 7.
1. Python 3 installieren #
Wir installieren Python 3.6 aus den Software Collections (SCL)-Repositories.
CentOS 7 wird mit Python 2.7.5 ausgeliefert, das ein wichtiger Bestandteil des CentOS-Basissystems ist. Mit SCL können Sie neuere Versionen von Python 3.x neben dem Standard-Python v2.7.5 installieren, sodass Systemtools wie yum weiterhin ordnungsgemäß funktionieren.
Beginnen Sie mit der Aktivierung von SCL, indem Sie die CentOS-SCL-Release-Datei installieren, die im CentOS-Extras-Repository enthalten ist:
sudo yum install centos-release-scl
Sobald das Repository aktiviert ist, installieren Sie Python 3.6 mit dem folgenden Befehl:
sudo yum install rh-python36
Sobald Python 3.6 installiert ist, können wir eine virtuelle Umgebung für unsere Django-Anwendung erstellen.
2. Erstellen einer virtuellen Umgebung #
Ab Python 3.6 ist die empfohlene Methode zum Erstellen einer virtuellen Umgebung die Verwendung von venv
Modul.
Navigieren Sie zu dem Verzeichnis, in dem Sie Ihre virtuellen Python 3-Umgebungen speichern möchten. Es kann Ihr Home-Verzeichnis oder jedes andere Verzeichnis sein, in dem Ihr Benutzer Lese- und Schreibrechte hat.
Erstellen Sie ein neues Verzeichnis für Ihre Django-Anwendung und wechseln Sie hinein:
mkdir my_django_app
cd my_django_app
Um auf Python 3.6 zuzugreifen, müssen Sie eine neue Shell-Instanz mit scl
starten Werkzeug:
scl enable rh-python36 bash
Führen Sie den folgenden Befehl aus, um eine neue virtuelle Umgebung zu erstellen:
python3 -m venv venv
Der obige Befehl erstellt ein Verzeichnis namens venv
, die eine Kopie der Python-Binärdatei, den Pip-Paketmanager, die standardmäßige Python-Bibliothek und andere unterstützende Dateien enthält. Sie können einen beliebigen Namen für die virtuelle Umgebung verwenden.
Um diese virtuelle Umgebung zu verwenden, müssen Sie sie aktivieren, indem Sie activate
ausführen Skript:
source venv/bin/activate
Nach der Aktivierung wird das bin-Verzeichnis der virtuellen Umgebung am Anfang von $PATH
hinzugefügt Variable. Auch die Eingabeaufforderung Ihrer Shell ändert sich und zeigt den Namen der virtuellen Umgebung an, die Sie gerade verwenden. In unserem Fall ist das venv
.
3. Installieren von Django #
Nachdem die virtuelle Umgebung aktiviert ist, können Sie den Python-Paketmanager pip
verwenden um Django zu installieren:
pip install django
Innerhalb der virtuellen Umgebung können Sie den Befehl pip
verwenden statt pip3
und python
statt python3
. Um die Installation zu überprüfen, verwenden Sie den folgenden Befehl, der die Django-Version druckt:
python -m django --version
Zum Zeitpunkt der Erstellung dieses Artikels ist die neueste offizielle Django-Version 2.1.2
2.1.2
Ihre Django-Version kann sich von der hier gezeigten Version unterscheiden.
4. Erstellen eines Django-Projekts #
So erstellen Sie ein neues Django-Projekt mit dem Namen mydjangoapp
Verwenden Sie den django-admin
Befehlszeilenprogramm:
django-admin startproject mydjangoapp
Der obige Befehl erstellt eine mydjangoapp
Verzeichnis in Ihrem aktuellen Verzeichnis.
tree mydjangoapp/
mydjangoapp/
|-- manage.py
`-- mydjangoapp
|-- __init__.py
|-- settings.py
|-- urls.py
`-- wsgi.py
In diesem Verzeichnis finden Sie das Hauptskript zum Verwalten von Projekten mit dem Namen manage.py
und ein weiteres Verzeichnis mit Datenbankkonfiguration und Django- und anwendungsspezifischen Einstellungen.
Lassen Sie uns die Datenbank migrieren und einen administrativen Benutzer erstellen.
Navigieren Sie zunächst zur mydjangoapp
Verzeichnis:
cd mydjangoapp
Standardmäßig verwendet Django eine SQLite-Datenbank. Für Produktionsanwendungen können Sie PostgreSQL, MariaDB, Oracle oder MySQLDatabase verwenden.
Führen Sie den folgenden Befehl aus, um die Datenbank zu migrieren:
python manage.py migrate
Die Ausgabe sieht in etwa so aus:
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 sessions.0001_initial... OK
Sobald die Datenbank migriert ist, erstellen Sie einen administrativen Benutzer, damit Sie die Django-Verwaltungsschnittstelle verwenden können:
python manage.py createsuperuser
Der Befehl fordert Sie zur Eingabe eines Benutzernamens, einer E-Mail-Adresse und eines Passworts für Ihren administrativen Benutzer auf.
Username (leave blank to use 'linuxize'): admin
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.
5. Testen des Entwicklungsservers #
Starten Sie den Entwicklungs-Webserver mit manage.py
Skript gefolgt vom runserver
Möglichkeit:
python manage.py runserver
Sie sehen die folgende Ausgabe:
Performing system checks...
System check identified no issues (0 silenced).
October 20, 2018 - 11:16:28
Django version 2.1.2, using settings 'mydjangoapp.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Wenn Sie Django auf einer virtuellen Maschine installiert haben und auf den Django-Entwicklungsserver zugreifen möchten, müssen Sie die Datei settings.py
bearbeiten -Datei und fügen Sie die Server-IP-Adresse in ALLOWED_HOSTS
hinzu aufführen.
Öffnen Sie http://127.0.0.1:8000
in Ihrem Webbrowser und Sie erhalten die Standard-Landingpage von Django:
Sie können auf die Django-Admin-Oberfläche zugreifen, indem Sie /admin/
hinzufügen am Ende der URL (http://127.0.0.1:8000/admin/
). Dadurch gelangen Sie zum Administrator-Anmeldebildschirm:
Geben Sie Ihren Benutzernamen und Ihr Passwort ein und Sie werden zur Django-Admin-Seite weitergeleitet:
Um den Entwicklungsserver zu stoppen, geben Sie CTRL-C
ein in Ihrem Terminal.
6. Virtuelle Umgebung deaktivieren #
Wenn Sie mit Ihrer Arbeit fertig sind, deaktivieren Sie die Umgebung, indem Sie deactivate
eingeben und Sie kehren zu Ihrer normalen Shell zurück.
deactivate