Archives Wild Code School
Django

03 Django: Configuration de la base de données

Quête 3 sur 9

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)

↗
https://www.postgresqltutorial.com/install-postgresql/

Pour l'installation sur Windows:

postgresqltutorial.com
↗
https://www.postgresqltutorial.com/install-postgresql-macos/

Pour l'installation sur MacOs:

postgresqltutorial.com
↗
https://www.postgresqltutorial.com/install-postgresql-linux/

Pour l'installation sur Linux:

postgresqltutorial.com

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.

↗
https://docs.djangoproject.com/fr/3.1/ref/settings/#std:setting-DATABASES

Documentation officiel sur la configuration des base de données

docs.djangoproject.com

💪 Challenge : Mettre à jour ton github

Une fois que tu as fini n'oublie pas d'envoyer ton projet sur github...