installeer je Django Web Applicatie Framework op Debian 10
Django is een open-source web applicatie raamwerk dat je helpt om dynamische websites en applicaties te ontwikkelen. Het is veilig, snel en stabiel, waardoor je met minder codering een complexe website kunt maken. Er zijn verschillende manieren om Django op je systeem te installeren. Je kunt het installeren met de Debian repository, met PIP of uit de Git repository. Je kunt elke methode kiezen, afhankelijk van je behoeften. Django stelt je in staat een project te maken in Python virtuele omgevingen. Op deze manier kun je meerdere Django omgevingen in een enkel systeem maken.
In deze zelfstudie leren we hoe je het Django web raamwerk met PIP op Debian 10 kunt installeren. We leren ook hoe je een Django applicatie maakt en die met een database verbindt.
Vereisten
- Een server waarop Debian 10 draait.
- Een root wachtwoord is op je server ingesteld.
Aan de slag
Voor je begint, update je je systeem met de nieuwste versie. Je kunt dat doen door het volgende commando uit te voeren:
apt-get update -y
apt-get upgrade -y
Zodra je systeem is bijgewerkt, herstart je het om de veranderingen toe te passen.
Installeer Django
Django is geschreven in de taal Python. Je zult dus afhankelijkheden van Python op je systeem moeten installeren om Django te kunnen installeren. Je kunt ze allemaal installeren met het volgende commando:
apt-get install python3 python3-pip tree -y
Nadat je alle pakketten geïnstalleerd hebt, kun je de geïnstalleerde versie van PIP verifiëren met het volgende commando:
pip3 -V
Je zou de volgende uitvoer moeten krijgen:
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
Nu kun je overgaan tot de installatie van Django met het PIP commando zoals hieronder:
pip3 install Django
Als de installatie voltooid is, controleer je de Django versie met het volgende commando:
django-admin --version
Je zou de volgende uitvoer moeten zien:
3.0.2
Op dit punt is Django op je server geïnstalleerd. Je kunt nu verder gaan met de volgende stap.
Maak een Django Project
Laten we nu beginnen met het maken van een voorbeeld Django project. Verander eerst de directory in de /opt waar je een Django project wilt maken:
cd /opt
Voer vervolgens het volgende commando uit om een nieuw Django project te maken met de naam Dproject:
django-admin startproject Dproject
Als het project is aangemaakt, kun je de mappenstructuur van dit project bekijken met het volgende commando:
tree
Je zou de volgende uitvoer moeten krijgen:
. ??? Dproject ??? Dproject ? ??? asgi.py ? ??? __init__.py ? ??? settings.py ? ??? urls.py ? ??? wsgi.py ??? manage.py
Verander vervolgens de directory in het Dproject en migreer de hangende wijzigingen met het volgende commando:
cd Dproject
python3 manage.py migrate
Als de migratie met succes is voltooid, zou je de volgende uitvoer moeten zien:
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
Op dit punt is een nieuw Django project aangemaakt in de map /opt.
Maak een supergebruiker voor Django
Vervolgens moet je een supergebruiker voor Django maken om toegang te krijgen tot de Django admin interface. Je kunt die aanmaken met het volgende commando:
python3 manage.py createsuperuser
Geef je gewenste gebruikersnaam, emailadres en wachtwoord op zoals hieronder:
Username (leave blank to use 'root'): admin Email address: [email protected] Password: Password (again): Superuser created successfully.
Start Django Server
Standaard is Django niet toegankelijk vanaf het externe systeem. Je zult dus Django moeten configureren en je server IP bepalen. Je kunt dat doen door het bestand settings.py te bewerken.
nano /opt/Dproject/Dproject/settings.py
Verander de volgende regel:
ALLOWED_HOSTS = ['your-server-ip']
Sla het bestand op en sluit het als je klaar bent. Start vervolgens de Django server met het volgende commando:
cd /opt/Django
python3 manage.py runserver 0.0.0.0:8000
Als de server met succes gestart is, zou je de volgende uitvoer moeten krijgen:
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.
Toegang tot Django toepassing
Op dit punt is de Django applicatie gestart en luistert op poort 8000. Om er toegang toe te krijgen, open je je webbrowser en typ je de URL http://your-server-ip:8000. Je zou de Django applicatie in het volgende scherm moeten zien:
Om de Django Admin interface te openen, open je je webbrowser en typ je de URL http://your-server-ip:8000/admin. Je wordt doorverwezen naar de Django login pagina:
Geef je Django admin gebruikersnaam en wachtwoord op en klik op de knop Log in. Je zou de Django Admin interface in het volgende scherm moeten zien:
Installeer de MariaDB Database Connector
Vervolgens moet je de MariaDB database connector en andere ontwikkelingspakketten installeren om Django met de MariaDB database te verbinden. Je kunt ze allemaal installeren met het volgende commando:
apt-get install mariadb-server python3-dev libmariadb-dev libmariadbclient-dev -y
Als alle pakketten geïnstalleerd zijn, kun je de mysqlclient bibliotheek installeren met het PIP commando zoals hieronder:
pip3 install mysqlclient
Eenmaal geïnstalleerd, log je in op de MariaDB shell met het volgende commando:
mysql
Stel vervolgens het root wachtwoord voor MariaDB in met het volgende commando.
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpassword");
Maak vervolgens een database voor Django met het volgende commando:
MariaDB [(none)]> create database testdb;
Je kunt de hierboven gemaakte database zien met het volgende commando:
MariaDB [(none)]> show databases;
Je zou de volgende uitvoer moeten krijgen:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | testdb | +--------------------+
Spoel vervolgens de privileges door en verlaat de MariaDB shell met het volgende commando:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Configureer Django voor MariaDB verbinding
Vervolgens moet je in Django MariaDB databank credentials definiëren. Je kunt die definiëren door het bestand settings.py te bewerken:
nano /opt/Dproject/Dproject/settings.py
Zoek de volgende regels:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
En vervang ze door de volgende regels:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'OPTIONS': { 'read_default_file': '/etc/mysql/mariadb.conf.d/50-client.cnf', }, } }
Sla het bestand op en sluit het als je klaar bent. Bewerk dan het MariaDB client credential bestand zoals hieronder:
nano /etc/mysql/mariadb.conf.d/50-client.cnf
Definieer je MariaDB databank credentials zoals hieronder:
[client] database = testdb user = root password = newpassword default-character-set = utf8
Bewaar en sluit het bestand en herstart dan de MariaDB dienst om de veranderingen door te voeren:
systemctl restart mariadb
Verander vervolgens de directory in het Django project en migreer de nieuwe wijzigingen met het volgende commando:
cd /opt/Dproject
python3 manage.py migrate
Als de migratie met succes is voltooid, kun je verder gaan met de volgende stap.
Test de MariaDB verbinding
Op dit punt is Django geconfigureerd om de MariaDB databank te verbinden. Het is tijd om die te testen.
Start daartoe de Django server met het volgende commando:
cd /opt/Django
python3 manage.py runserver 0.0.0.0:8000
Als de Django server met succes gestart is, zou je de volgende uitvoer moeten krijgen:
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.
Je kunt nu je Django applicatie benaderen met de URL http://your-server-ip:8000. Je zou je Django applicatie in het volgende scherm moeten zien:
Na het testen kun je de Django server elk type stoppen door in je terminal op CTRL + C te drukken.
Conclusie
Gefeliciteerd! Je hebt met succes Django geïnstalleerd en het met de MariaDB databank verbonden op Debian 10 server. Je kunt nu beginnen met het ontwikkelen van je webapplicatie en migraties in je Django applicatie toepassen. Voel je vrij me te vragen als je vragen hebt.