postgresql_django
Rédigé par Paulo
Aucun commentaire
Classé dans : Python
Utilisation de postgresql avec django
-
installation de postgresql sur fedora/centos
# installation de postgresql 12 sur Fedora 31 sudo dnf install https://download.postgresql.org/pub/repos/yum/reporpms/ \ F-31-x86_64/pgdg-fedora-repo-latest.noarch.rpm sudo dnf install postgresql12-server postgresql12 # installation de psycopg2 sudo dnf install python-psycopg2
-
initialisation de la base postgresql
# initialisation de la base postgresql sudo /usr/pgsql-12/bin/postgresql-12-setup initdb # pour autoriser l'accés à distance # modifier: - /var/lib/pgsql/12/data/postgresql.conf listen_adresses = '*' pour toutes les interfaces ou '@IP du serveur' - /var/lib/pgsql/12/data/pg_hba.conf de n'importe ou : host all all 0.0.0.0/0 md5 seulement d'un reseau : host all all 10.10.10.0/24 md5 # modifier le password de l'admin sudo su - postgres psql -c "alter user postgres with password 'StrongPassword'" # modification méthode d'autentification # sinon django hurle sa mêre au lancement !!!! fichier /var/lib/pgsql/12/data/pg_hba.conf local all all peer --> local all all md5 host all all 127.0.0.1/32 ident --> host all all 127.0.0.1/32 md5
Configuration de django
-
création de la base (ex: ma_base)
# création de la base de donnée (ex: ma_base) sudo su - postgres psql CREATE DATABASE ma_base; CREATE USER mon_user WITH PASSWORD 'password'; ALTER ROLE mon_user SET client_encoding TO 'utf8'; GRANT ALL PRIVILEGES ON DATABASE ma_database TO mon_user; \q
-
création d'un projet django
# création d'un répertoire pour futur projet et se positionner à l'intérieur mkdir django/projets/mon_projet&& cd django/projets/mon_projet # création du projet django-admin.py startproject mon_projet # config de la database du projet dans Django (settings.py) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'ma_base', 'USER': 'mon_user', 'PASSWORD': 'mon_password', 'HOST': '', 'PORT': '5432', } } # migration et lancement du projet ./manage.py makemigrations ./manage.py migrate ./manage.py runeserver # création du superuser (pour accés interface admin par ex...) ./manage.py creatsuperuser
Configuration pour DBeaver
- modif du fichier /var/lib/pgsql/12/data/pg_hba.conf
# extrait du pg_hba.conf ... local all all md5 host all all 127.0.0.1/32 md5 # relancer postgresql sudo systemctl restart postgresql-12.service
Sources: