03 Django: Configuration de la base de données
Django: Configuration de la base de données
Félicitations ! tu as initialisé ton projet NutriFood, mais il manque deux ou trois choses pour commencer à développer notre belle application. En effet, en plus du code Python, il te faut également une base de données pour que ton application ait de la données à traiter.
Objectifs:
- Installer un serveur de base de données postgreSQL.
- Créer un compte utilisateur et une base postgreSQL.
- Configurer la connexion entre Django et postgreSQL.
Installer un serveur de base de données:
C'est partie on va commencer par installer un serveur de base de données(postgreSQL)
Pour l'installation sur Windows:
Pour l'installation sur MacOs:
Pour l'installation sur Linux:
Bref rien de mieux que la documentation officielle !
Créer un compte utilisateur et une base postgreSQL:
Tu as installé Postgresql mais il faut créer un compte utilisateur et une base de données pour que Django puisse se connecter à cette dernière.
Création de la base de données
postgres=# CREATE DATABASE Nom_De_La_BDD;
Créer un utilisateur
postgres=# CREATE USER Nom_Utilisateur WITH PASSWORD 'Meilleur_mot_de_passe_2020=123456';
Modification des paramètres de la base de données afin de l'optimiser comme demandé sur la documentation officielle de Django.
postgres=# ALTER ROLE Nom_Utilisateur SET client_encoding TO 'utf8';
postgres=# ALTER ROLE Nom_Utilisateur SET default_transaction_isolation TO 'read committed';
postgres=# ALTER ROLE Nom_Utilisateur SET timezone TO 'Europe/Paris';
Il faut ensuite accorder tous les droits à ce nouvel utilisateur au sein de la base de données créée juste avant.
GRANT ALL PRIVILEGES ON DATABASE Nom_De_La_BDD TO Nom_Utilisateur;
Si ça ne fonctionne pas, tu peux essayer la commande suivante :
ALTER ROLE Nom_Utilisateur SUPERUSER CREATEDB;
Tu as toute la documentation de postrgresl accessible en ligne, pratique !
Configurer la connexion entre Django et postgreSQL.
PostgreSQL est installé, avec un compte utilisateur et une base de données. Il est temps de donner ces informations à Django.
Dans un premier temps il va falloir installer le module pyscog pour que Django puisse fonctionner avec Postgresql
Si tu n'utilises pas d'environnement virtuel
pip install psycopg2
Si tu utilises pipenv
pipenv install psycopg2
On y est presque maintenant il faut modifier le fichier settings.py ! Et modifier la partie DATABASES.
Documentation officiel sur la configuration des base de données
💪 Challenge : Mettre à jour ton github
Une fois que tu as fini n'oublie pas d'envoyer ton projet sur github...