Django è un framework di applicazioni Web open source che ti aiuta a sviluppare siti Web e applicazioni dinamici. È sicuro, veloce e stabile che ti consente di creare un sito Web complesso con meno codifica. Esistono diversi modi per installare Django sul tuo sistema. Puoi installarlo usando il repository Debian, usando PIP o dal repository Git. Puoi scegliere qualsiasi metodo a seconda delle tue esigenze. Django ti permette di creare un progetto in ambienti virtuali Python. In questo modo puoi creare più ambienti Django in un unico sistema.
In questo tutorial impareremo come installare il framework web Django con PIP su Debian 10. Impareremo anche come creare un'applicazione Django e collegarla a un database.
Prerequisiti
- Un server che esegue Debian 10.
- Sul tuo server è configurata una password di root.
Per iniziare
Prima di iniziare, aggiorna il tuo sistema con l'ultima versione. Puoi farlo eseguendo il seguente comando:
apt-get update -y
apt-get upgrade -y
Una volta aggiornato il sistema, riavvialo per applicare le modifiche.
Installa Django
Django è scritto nel linguaggio Python. Quindi dovrai installare le dipendenze Python sul tuo sistema per installare Django. Puoi installarli tutti con il seguente comando:
apt-get install python3 python3-pip tree -y
Dopo aver installato tutti i pacchetti, puoi verificare la versione installata di PIP con il seguente comando:
pip3 -V
Dovresti ottenere il seguente output:
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
Ora puoi procedere all'installazione di Django usando il comando PIP come mostrato di seguito:
pip3 install Django
Una volta completata l'installazione, controlla la versione di Django utilizzando il seguente comando:
django-admin --version
Dovresti vedere il seguente output:
3.0.2
A questo punto, Django è stato installato sul tuo server. Ora puoi procedere al passaggio successivo.
Crea un progetto Django
Ora iniziamo a creare un progetto Django di esempio. Per prima cosa, cambia la directory in /opt dove vuoi creare un progetto Django:
cd /opt
Quindi, esegui il comando seguente per creare un nuovo progetto Django chiamato Dproject:
django-admin startproject Dproject
Una volta creato il progetto, puoi vedere la struttura delle directory di questo progetto con il seguente comando:
tree
Dovresti ottenere il seguente output:
. ??? Dproject ??? Dproject ? ??? asgi.py ? ??? __init__.py ? ??? settings.py ? ??? urls.py ? ??? wsgi.py ??? manage.py
Quindi, cambia la directory in Dproject e migra le modifiche in sospeso con il seguente comando:
cd Dproject
python3 manage.py migrate
Una volta completata la migrazione, dovresti vedere il seguente output:
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
A questo punto, è stato creato un nuovo progetto Django all'interno della directory /opt.
Crea un super utente per Django
Successivamente, dovrai creare un superutente per Django per accedere all'interfaccia di amministrazione di Django. Puoi crearlo con il seguente comando:
python3 manage.py createsuperuser
Fornisci il nome utente, l'indirizzo e-mail e la password desiderati come mostrato di seguito:
Username (leave blank to use 'root'): admin Email address: [email protected] Password: Password (again): Superuser created successfully.
Avvia Django Server
Per impostazione predefinita, Django non è accessibile dal sistema remoto. Quindi dovrai configurare Django e definire l'IP del tuo server. Puoi farlo modificando il file settings.py.
nano /opt/Dproject/Dproject/settings.py
Modifica la seguente riga:
ALLOWED_HOSTS = ['your-server-ip']
Salva e chiudi il file quando hai finito. Quindi, avvia il server Django con il seguente comando:
cd /opt/Django
python3 manage.py runserver 0.0.0.0:8000
Una volta che il server è stato avviato correttamente, dovresti ottenere il seguente output:
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.
Accedi all'applicazione Django
A questo punto, l'applicazione Django viene avviata ed è in ascolto sulla porta 8000. Per accedervi, apri il tuo browser web e digita l'URL http://your-server-ip:8000. Dovresti vedere l'applicazione Django nella schermata seguente:
Per accedere all'interfaccia di Django Admin, apri il tuo browser web e digita l'URL http://your-server-ip:8000/admin. Verrai reindirizzato alla pagina di accesso di Django:
Fornisci il nome utente e la password dell'amministratore Django e fai clic sul Registro dentro pulsante. Dovresti vedere l'interfaccia di amministrazione di Django nella schermata seguente:
Installa MariaDB Database Connector
Successivamente, dovrai installare il connettore del database MariaDB e altri pacchetti di sviluppo per connettere Django con il database MariaDB. Puoi installarli tutti usando il seguente comando:
apt-get install mariadb-server python3-dev libmariadb-dev libmariadbclient-dev -y
Una volta installati tutti i pacchetti, puoi installare la libreria mysqlclient utilizzando il comando PIP come mostrato di seguito:
pip3 install mysqlclient
Una volta installato, accedi alla shell di MariaDB con il seguente comando:
mysql
Quindi, imposta la password di root per MariaDB con il seguente comando.
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpassword");
Quindi, crea un database per Django con il seguente comando:
MariaDB [(none)]> create database testdb;
Puoi vedere il database creato sopra usando il seguente comando:
MariaDB [(none)]> show databases;
Dovresti ottenere il seguente output:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | testdb | +--------------------+
Quindi, svuota i privilegi ed esci dalla shell MariaDB con il seguente comando:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Configura Django per la connessione MariaDB
Successivamente, dovrai definire le credenziali del database MariaDB in Django. Puoi definirlo modificando il file settings.py:
nano /opt/Dproject/Dproject/settings.py
Trova le seguenti righe:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
E sostituiscili con le seguenti righe:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'OPTIONS': { 'read_default_file': '/etc/mysql/mariadb.conf.d/50-client.cnf', }, } }
Salva e chiudi il file quando hai finito. Quindi, modifica il file delle credenziali del client MariaDB come mostrato di seguito:
nano /etc/mysql/mariadb.conf.d/50-client.cnf
Definisci le credenziali del tuo database MariaDB come mostrato di seguito:
[client] database = testdb user = root password = newpassword default-character-set = utf8
Salva e chiudi il file, quindi riavvia il servizio MariaDB per implementare le modifiche:
systemctl restart mariadb
Quindi, cambia la directory nel progetto Django e migra le nuove modifiche con il seguente comando:
cd /opt/Dproject
python3 manage.py migrate
Una volta completata con successo la migrazione, puoi procedere al passaggio successivo.
Test della connessione MariaDB
A questo punto, Django è configurato per connettere il database MariaDB. È ora di provarlo.
Per farlo, avvia il server Django con il seguente comando:
cd /opt/Django
python3 manage.py runserver 0.0.0.0:8000
Una volta che il server Django è stato avviato correttamente, dovresti ottenere il seguente output:
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.
Ora puoi accedere alla tua applicazione Django utilizzando l'URL http://your-server-ip:8000. Dovresti vedere la tua applicazione Django nella schermata seguente:
Dopo il test, puoi fermare il server Django di qualsiasi tipo premendo CTRL + C nel tuo terminale.
Conclusione
Congratulazioni! hai installato correttamente Django e lo connetti con il database MariaDB sul server Debian 10. Ora puoi iniziare a sviluppare la tua applicazione web e applicare le migrazioni nella tua applicazione Django. Sentiti libero di chiedermi se hai domande.