Wie man das Django Web Application Framework unter Debian 10 installiert

Django ist ein Open-Source-Webanwendungs-Framework, das Sie bei der Entwicklung dynamischer Websites und Anwendungen unterstützt. Es ist sicher, schnell und stabil, was es Ihnen ermöglicht, eine komplexe Website mit weniger Programmieraufwand zu erstellen. Es gibt mehrere Möglichkeiten, Django auf Ihrem System zu installieren. Sie können es über das Debian-Repository, über PIP oder aus dem Git-Repository installieren. Sie können jede Methode je nach Ihren Bedürfnissen wählen. Django erlaubt es Ihnen, ein Projekt in virtuellen Python-Umgebungen zu erstellen. Auf diese Weise können Sie mehrere Django-Umgebungen in einem einzigen System erstellen.

In diesem Tutorial werden wir lernen, wie man das Django-Web-Framework mit PIP unter Debian 10 installiert. Wir werden auch lernen, wie man eine Django-Anwendung erstellt und sie mit einer Datenbank verbindet.

Voraussetzungen

  • Ein Server, auf dem Debian 10 läuft.
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert.

Erste Schritte

Bevor Sie beginnen, aktualisieren Sie Ihr System mit der neuesten Version. Sie können dies tun, indem Sie den folgenden Befehl ausführen:

apt-get update -y
 apt-get upgrade -y

Sobald Ihr System aktualisiert ist, starten Sie es neu, um die Änderungen zu übernehmen.

Django installieren

Django ist in der Sprache Python geschrieben. Sie müssen also Python-Abhängigkeiten auf Ihrem System installieren, um Django installieren zu können. Sie können sie alle mit dem folgenden Befehl installieren:

apt-get install python3 python3-pip tree -y

Nachdem Sie alle Pakete installiert haben, können Sie die installierte Version von PIP mit dem folgenden Befehl überprüfen:

pip3 -V

Sie sollten die folgende Ausgabe erhalten:

pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)

Jetzt können Sie mit der Installation von Django mit dem PIP-Befehl fortfahren, wie unten gezeigt:

pip3 install Django

Wenn die Installation abgeschlossen ist, überprüfen Sie die Django-Version mit dem folgenden Befehl:

django-admin --version

Sie sollten die folgende Ausgabe sehen:

3.0.2

Zu diesem Zeitpunkt ist Django auf Ihrem Server installiert. Sie können nun mit dem nächsten Schritt fortfahren.

Ein Django-Projekt erstellen

Beginnen wir nun mit der Erstellung eines Django-Beispielprojekts. Wechseln Sie zunächst in das Verzeichnis /opt, in dem Sie ein Django-Projekt erstellen möchten:

cd /opt

Führen Sie als nächstes den folgenden Befehl aus, um ein neues Django-Projekt namens Dproject zu erstellen:

django-admin startproject Dproject

Sobald das Projekt erstellt wurde, können Sie die Verzeichnisstruktur dieses Projekts mit dem folgenden Befehl sehen:

tree

Sie sollten die folgende Ausgabe erhalten:

.
??? Dproject
    ??? Dproject
    ?   ??? asgi.py
    ?   ??? __init__.py
    ?   ??? settings.py
    ?   ??? urls.py
    ?   ??? wsgi.py
    ??? manage.py

Wechseln Sie dann das Verzeichnis zum Dproject und migrieren Sie die ausstehenden Änderungen mit dem folgenden Befehl:

cd Dproject
 python3 manage.py migrate

Wenn die Migration erfolgreich abgeschlossen ist, sollten Sie die folgende Ausgabe sehen:

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 sessions.0001_initial... OK

Zu diesem Zeitpunkt wurde ein neues Django-Projekt im Verzeichnis /opt erstellt.

Erstellen Sie einen Superuser für Django

Als nächstes müssen Sie einen Superuser für Django erstellen, um auf die Django-Verwaltungsoberfläche zugreifen zu können. Sie können ihn mit dem folgenden Befehl erstellen:

python3 manage.py createsuperuser

Geben Sie Ihren gewünschten Benutzernamen, Ihre E-Mail-Adresse und Ihr Passwort wie unten gezeigt an:

Username (leave blank to use 'root'): admin
Email address: admin@example.com
Password: 
Password (again): 
Superuser created successfully.

Django-Server starten

Standardmäßig ist Django vom entfernten System aus nicht zugänglich. Daher müssen Sie Django konfigurieren und Ihre Server-IP definieren. Sie können dies tun, indem Sie die Datei settings.py bearbeiten.

nano /opt/Dproject/Dproject/settings.py

Ändern Sie die folgende Zeile:

ALLOWED_HOSTS = ['your-server-ip']

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Als nächstes starten Sie den Django-Server mit dem folgenden Befehl:

cd /opt/Django
 python3 manage.py runserver 0.0.0.0:8000

Sobald der Server erfolgreich gestartet ist, sollten Sie folgende Ausgabe erhalten:

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
January 07, 2020 - 13:01:23
Django version 3.0.2, using settings 'Dproject.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

Zugriff auf die Django-Anwendung

An diesem Punkt wird die Django-Anwendung gestartet und hört auf Port 8000 ab. Um darauf zuzugreifen, öffnen Sie Ihren Webbrowser und geben Sie die URL http://your-server-ip:8000 ein. Sie sollten die Django-Anwendung auf dem folgenden Bildschirm sehen:

Django-Rahmenwerk

Um auf die Django Admin-Schnittstelle zuzugreifen, öffnen Sie Ihren Webbrowser und geben Sie die URL http://your-server-ip:8000/admin ein. Sie werden auf die Django-Anmeldeseite weitergeleitet:

Django-Anmeldung

Geben Sie Ihren Django-Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche Anmelden. Sie sollten die Django Admin-Schnittstelle im folgenden Bildschirm sehen:

Django-Administrationskonsole

Installieren Sie den MariaDB-Datenbank-Konnektor

Als nächstes müssen Sie den MariaDB-Datenbank-Konnektor und andere Entwicklungspakete installieren, um Django mit der MariaDB-Datenbank zu verbinden. Sie können sie alle mit dem folgenden Befehl installieren:

apt-get install mariadb-server python3-dev libmariadb-dev libmariadbclient-dev -y

Wenn alle Pakete installiert sind, können Sie die mysqlclient-Bibliothek mit dem PIP-Befehl installieren, wie unten gezeigt:

pip3 install mysqlclient

Nach der Installation melden Sie sich mit folgendem Befehl an der MariaDB-Shell an:

mysql

Als nächstes setzen Sie das Root-Passwort für MariaDB mit dem folgenden Befehl.

MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpassword");

Als nächstes erstellen Sie eine Datenbank für Django mit dem folgenden Befehl:

MariaDB [(none)]> create database testdb;

Sie können die oben erstellte Datenbank mit dem folgenden Befehl sehen:

MariaDB [(none)]> show databases;

Sie sollten die folgende Ausgabe erhalten:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| testdb             |
+--------------------+

Als nächstes sollten Sie die Privilegien aufheben und die MariaDB-Shell mit dem folgenden Befehl verlassen:

MariaDB [(none)]> flush privileges;
 MariaDB [(none)]> exit;

Django für die MariaDB-Verbindung konfigurieren

Als Nächstes müssen Sie in Django die Anmeldedaten für die MariaDB-Datenbank definieren. Sie können sie definieren, indem Sie die Datei settings.py bearbeiten:

nano /opt/Dproject/Dproject/settings.py

Suchen Sie die folgenden Zeilen:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

Und ersetzen Sie sie durch die folgenden Zeilen:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
        'read_default_file': '/etc/mysql/mariadb.conf.d/50-client.cnf',
        },
    }
}

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Bearbeiten Sie dann die MariaDB-Client-Berechtigungsdatei wie unten gezeigt:

nano /etc/mysql/mariadb.conf.d/50-client.cnf

Definieren Sie Ihre Anmeldedaten für die MariaDB-Datenbank wie unten gezeigt:

[client]
database = testdb 
user = root   
password = newpassword
default-character-set = utf8

Speichern und schließen Sie die Datei und starten Sie dann den MariaDB-Dienst neu, um die Änderungen zu implementieren:

systemctl restart mariadb

Als nächstes wechseln Sie das Verzeichnis zum Django-Projekt und migrieren die neuen Änderungen mit dem folgenden Befehl:

cd /opt/Dproject
 python3 manage.py migrate

Wenn die Migration erfolgreich abgeschlossen ist, können Sie mit dem nächsten Schritt fortfahren.

MariaDB-Verbindung testen

Zu diesem Zeitpunkt ist Django so konfiguriert, dass die Verbindung zur MariaDB-Datenbank hergestellt wird. Es ist an der Zeit, es zu testen.

Starten Sie dazu den Django-Server mit dem folgenden Befehl:

cd /opt/Django
 python3 manage.py runserver 0.0.0.0:8000

Nachdem der Django-Server erfolgreich gestartet wurde, sollten Sie folgende Ausgabe erhalten:

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
January 07, 2020 - 13:30:49
Django version 3.0.2, using settings 'Dproject.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

Sie können nun über die URL http://your-server-ip:8000 auf Ihre Django-Anwendung zugreifen. Im folgenden Bildschirm sollten Sie Ihre Django-Anwendung sehen:

Django-Anwendung

Nach dem Testen können Sie den Django-Server durch Drücken von CTRL + C in Ihrem Terminal stoppen.

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben Django erfolgreich installiert und mit der MariaDB-Datenbank auf dem Debian-10-Server verbunden. Sie können nun mit der Entwicklung Ihrer Webanwendung beginnen und Migrationen in Ihrer Django-Anwendung durchführen. Sie können mich gerne fragen, wenn Sie Fragen haben.

Das könnte Dich auch interessieren …