Django ist ein Open-Source-Framework für Webanwendungen, mit dem Sie dynamische Websites und Anwendungen entwickeln können. Es ist sicher, schnell und stabil, sodass Sie mit weniger Codierung eine komplexe Website erstellen können. Es gibt mehrere Möglichkeiten, Django auf Ihrem System zu installieren. Sie können es über das Debian-Repository, über PIP oder über das Git-Repository installieren. Sie können je nach Bedarf eine beliebige Methode auswählen. Mit Django können Sie ein Projekt in virtuellen Python-Umgebungen erstellen. Auf diese Weise können Sie mehrere Django-Umgebungen in einem einzigen System erstellen.
In diesem Tutorial lernen wir, wie man das Django-Webframework mit PIP auf Debian 10 installiert. Wir lernen auch, wie man eine Django-Anwendung erstellt und mit einer Datenbank verbindet.
Voraussetzungen
- Ein Server mit Debian 10.
- 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 zu installieren. Sie können 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 fortfahren, indem Sie den PIP-Befehl wie unten gezeigt verwenden:
pip3 install Django
Überprüfen Sie nach Abschluss der Installation die Django-Version mit dem folgenden Befehl:
django-admin --version
Sie sollten die folgende Ausgabe sehen:
3.0.2
Zu diesem Zeitpunkt wurde Django auf Ihrem Server installiert. Sie können jetzt mit dem nächsten Schritt fortfahren.
Erstellen Sie ein Django-Projekt
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 mit dem Namen Dproject:
zu erstellendjango-admin startproject Dproject
Nachdem das Projekt erstellt wurde, können Sie die Verzeichnisstruktur dieses Projekts mit dem folgenden Befehl anzeigen:
tree
Sie sollten die folgende Ausgabe erhalten:
. ??? Dproject ??? Dproject ? ??? asgi.py ? ??? __init__.py ? ??? settings.py ? ??? urls.py ? ??? wsgi.py ??? manage.py
Wechseln Sie als Nächstes in das Verzeichnis Dproject und migrieren Sie die ausstehenden Änderungen mit dem folgenden Befehl:
cd Dproject
python3 manage.py migrate
Sobald die Migration erfolgreich abgeschlossen wurde, 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
An diesem Punkt wurde ein neues Django-Projekt im /opt-Verzeichnis erstellt.
Erstellen Sie einen Superuser für Django
Als Nächstes müssen Sie einen Superuser für Django erstellen, um auf die Django-Administrationsoberfläche zugreifen zu können. Sie können es 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 ein:
Username (leave blank to use 'root'): admin Email address: [email protected] Password: Password (again): Superuser created successfully.
Django-Server starten
Standardmäßig ist Django nicht vom Remote-System aus zugänglich. Sie müssen also Django konfigurieren und Ihre Server-IP definieren. Sie können dies tun, indem Sie die Datei settings.py.
bearbeitennano /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 wurde, sollten Sie die 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 überwacht Port 8000. 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:
Um auf die Django-Admin-Oberfläche zuzugreifen, öffnen Sie Ihren Webbrowser und geben Sie die URL http://your-server-ip:8000/admin ein. Sie werden zur Anmeldeseite von Django weitergeleitet:
Geben Sie Ihren Django-Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf Protokoll in Taste. Auf dem folgenden Bildschirm sollte die Django-Admin-Oberfläche angezeigt werden:
MariaDB Database Connector installieren
Als Nächstes müssen Sie den MariaDB-Datenbankkonnektor und andere Entwicklungspakete installieren, um Django mit der MariaDB-Datenbank zu verbinden. Sie können alle mit dem folgenden Befehl installieren:
apt-get install mariadb-server python3-dev libmariadb-dev libmariadbclient-dev -y
Sobald alle Pakete installiert sind, können Sie die mysqlclient-Bibliothek mit dem PIP-Befehl wie unten gezeigt installieren:
pip3 install mysqlclient
Melden Sie sich nach der Installation mit dem folgenden Befehl bei der MariaDB-Shell an:
mysql
Legen Sie als Nächstes das Root-Passwort für MariaDB mit dem folgenden Befehl fest.
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 anzeigen:
MariaDB [(none)]> show databases;
Sie sollten die folgende Ausgabe erhalten:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | testdb | +--------------------+
Löschen Sie als Nächstes die Berechtigungen und verlassen Sie die MariaDB-Shell mit dem folgenden Befehl:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Django für MariaDB-Verbindung konfigurieren
Als Nächstes müssen Sie die Anmeldeinformationen für die MariaDB-Datenbank in Django definieren. Sie können es definieren, indem Sie die Datei settings.py:
bearbeitennano /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 Datei mit den MariaDB-Client-Anmeldeinformationen wie unten gezeigt:
nano /etc/mysql/mariadb.conf.d/50-client.cnf
Definieren Sie Ihre MariaDB-Datenbank-Anmeldeinformationen 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
Wechseln Sie als Nächstes in das Verzeichnis des Django-Projekts und migrieren Sie die neuen Änderungen mit dem folgenden Befehl:
cd /opt/Dproject
python3 manage.py migrate
Sobald die Migration erfolgreich abgeschlossen wurde, können Sie mit dem nächsten Schritt fortfahren.
MariaDB-Verbindung testen
An diesem Punkt ist Django so konfiguriert, dass es eine Verbindung zur MariaDB-Datenbank herstellt. Es ist Zeit, es zu testen.
Starten Sie dazu den Django-Server mit folgendem Befehl:
cd /opt/Django
python3 manage.py runserver 0.0.0.0:8000
Sobald der Django-Server erfolgreich gestartet wurde, sollten Sie die 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 jetzt über die URL http://your-server-ip:8000 auf Ihre Django-Anwendung zugreifen. Sie sollten Ihre Django-Anwendung auf dem folgenden Bildschirm sehen:
Nach dem Testen können Sie den Django-Server jeden beliebigen Typs stoppen, indem Sie in Ihrem Terminal STRG + C drücken.
Schlussfolgerung
Herzliche Glückwünsche! Sie haben Django erfolgreich installiert und mit der MariaDB-Datenbank auf dem Debian 10-Server verbunden. Sie können jetzt mit der Entwicklung Ihrer Webanwendung beginnen und Migrationen in Ihrer Django-Anwendung anwenden. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.